加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ReactJS:在React中,不变性助手的真实世界使用是什么?

发布时间:2020-12-15 20:50:20 所属栏目:百科 来源:网络整理
导读:React的官方文档提供了 Immutability Helpers. 这些助手会有什么现实世界的用法?我想我错过了一些非常基本的东西. React假定在状态中设置的对象是不可变的,这意味着如果要添加或删除数组中的某个元素,您应该创建一个带有添加元素的新元素,保持前一个数组不
React的官方文档提供了 Immutability Helpers.

这些助手会有什么现实世界的用法?我想我错过了一些非常基本的东西.

React假定在状态中设置的对象是不可变的,这意味着如果要添加或删除数组中的某个元素,您应该创建一个带有添加元素的新元素,保持前一个数组不变:
var a = [1,2,3];
var b = React.addons.update(a,{'$push': [4] });
console.log(a); // [1,3];
console.log(b); // [1,3,4];

通过使用不可变对象,您可以轻松检查对象的内容是否已更改:

React.createClass({
    getInitialState: function () {
        return { elements: [1,3] };
    },handleClick: function() {
        var newVal = this.state.elements.length + 1;
        this.setState({
            elements: React.addons.update(this.state.elements,{ '$push': [ newVal ] })
        })
    },shouldComponentUpdate: function (nextProps,nextState) {
        return this.state.elements !== nextState.elements;
    },render: function () {
        return (
            <div onClick={this.handleClick}>{ this.state.elements.join(',') }</div>
        );
    }
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读