javascript - 可以将 Immutable.js Map 转换为 React 组件内的对象吗

标签 javascript reactjs redux react-redux immutable.js

我在我的应用程序中使用 redux 和 Immutable.js,我在开始开发项目几周后将 Immutable 添加到应用程序,因为我不想将当前组件更改为 Immutable 的 .get() 语法在我的组件中使用它们之前,我将商店中的不可变映射转换为对象。例如:

@connect((store) => {
  return {
    login: store.login.toObject(),
    user: store.user.toObject()
  };
})

这是一种不好的做法吗?这与我的应用的性能相关吗?

最佳答案

是的,这是一个非常糟糕的做法。为了让 Immutable 将您的 Immutable 映射转换为 JavaScript,它必须遍历整个对象;这会很慢。此外,您正在失去将 ImmutableJS 与 React 和 Redux 结合使用的大量实际值(value)。具体来说,您现在不能再通过 shouldComponentUpdate 的简单实现来短路不必要的重新渲染。 .

关于javascript - 可以将 Immutable.js Map 转换为 React 组件内的对象吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39684132/

相关文章:

reactjs - typescript 语法

javascript - redux 状态值返回未定义

react-native - 订阅 Redux 中 store 中的单个属性更改

javascript - chop 文本而不点击嵌套链接

javascript - 使用替换实现格式 x xxx,xx

javascript - React 中的额外等待会破坏异步测试

javascript - 用于嵌套数据结构处理的递归异步 JavaScript

javascript - 在 React 类中添加存储在变量中的样式

javascript - React 组件中的 handleScroll 值

javascript - React 中的初始状态与 Redux 不工作