编程语言
首页 > 编程语言> > javascript – 哪个是不可变的js中最好的.toJS()vs .toJSON()?

javascript – 哪个是不可变的js中最好的.toJS()vs .toJSON()?

作者:互联网

我是React Redux不可变js的新手,我使用toJS()将我的不可变数据结构转换为原生javascript格式.但最近我用这条推文恍恍惚惚

Author of Immutable.Js

Tweet说.toJS()非常昂贵所以我可以使用toJSON()
https://facebook.github.io/immutable-js/docs/#/List/toJSON是不是有问题

UPDATE

const initialState = fromJS({
   postArr:[]
});

    const mapStateToProps = (state) => {
        return{
            posts:state.allPosts.toJS()
        }
    };

请用我自己的Reducer提供一些示例

如何在不使用to.js()的情况下迭代this.props.posts

解决方法:

据我从the documentation的理解:

> toJSON()返回一个浅层复制的不可变对象版本(不是JSON字符串,虽然名称可能另有建议),这只应该用于传递给JSON.stringify()(换句话说:你不应该使用它作为代码中的常规对象).
> toJS()返回不可变对象的深度复制版本,您可以随后在代码中使用/修改它.因为它是一个深度复制的版本,所以它的生成成本更高.

标签:javascript,reactjs,redux,immutable-js
来源: https://codeday.me/bug/20190714/1458116.html