javascript - 不可变 js 中 .toJS() 与 .toJSON() 哪个最好?

标签 javascript reactjs redux immutable.js

我是 React+Redux+Immutable js 的新手,我正在使用 toJS() 将我的不可变数据结构转换为原生 JavaScript 形式。但最近我偶然发现了这条推文

Author of Immutable.Js

推文说 .toJS() 非常昂贵,所以我可以使用 toJSON() https://facebook.github.io/immutable-js/docs/#/List/toJSON性能问题可以吗

更新

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

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

请提供一些我自己的Reducer的例子

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

最佳答案

据我了解the documentation :

  • toJSON() 返回不可变对象(immutable对象)的浅复制版本(不是 JSON 字符串,尽管名称可能另有暗示),它应该只是用于传递给 JSON.stringify() (换句话说:您不应该将其用作代码中的常规对象)。

  • toJS() 返回不可变对象(immutable对象)的深度复制版本,您随后可以在代码中使用/修改它。因为它是深度复制的版本,所以生成成本更高。

关于javascript - 不可变 js 中 .toJS() 与 .toJSON() 哪个最好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44831309/

相关文章:

javascript - 如何检查此示例中的复选框是否已选中(javascript/jQuery。)

javascript - 如何在react Js中使用map实现嵌套循环

ios - 在React Native函数中创建Alert对话框?

javascript - 在使用 redux 使用react时,业务逻辑应该去哪里(action creators 或 reducers)?

javascript - 检查列标题标题是否与字符串匹配,如果匹配则返回列索引

javascript - 如何使用 jQuery 查找具有特定类和 CSS 样式的元素?

sql - 保持信息的私密性,即使对数据库用户也是如此

Redux + Normalizr : Adding and deleting normalized entities in Redux state

reactjs - 在智能容器中定义函数时如何保持组件的纯粹性?

Javascript 或 jquery 版本的 sencha touch 嵌套列表?