gpt4 book ai didi

reactjs - 何时将 .toJS() 与 Immutable.js 和 Flux 一起使用?

转载 作者:行者123 更新时间:2023-12-03 12:57:12 24 4
gpt4 key购买 nike

我正在尝试将 ImmutableJS 与我的 React/Flux 应用程序一起使用。

我的商店是 Immutable.Map 对象。

我想知道什么时候应该使用 .toJS() ?应该是商店的 .get(id) 返回时吗?或者在带有 .get('member') 的组件中?

最佳答案

理想情况下,永远不会!

如果您的 Flux 存储使用 Immutable.js,那么请尝试自始至终进行维护。使用 React.addons.ReactComponentWithPureRenderMixin 来实现记忆化性能胜利(它添加了 shouldComponentUpdate 方法)。

渲染时,您可能需要调用 toJS(),因为 React v0.12.x 只接受 Array 作为子元素:

render: function () {
return (
<div>
{this.props.myImmutable.map(function (item) {
<div>{item.title}</div>
}).toJS()}
</div>
);
}

这在 React v0.13.x 中发生了变化。组件接受任何 Iterable 作为子元素,而不仅仅是Array。由于 Immutable.js 实现了 Iterable,因此您可以省略 toJS():

render: function () {
return (
<div>
{this.props.myImmutable.map(function (item) {
<div>{item.title}</div>
})}
</div>
);
}

关于reactjs - 何时将 .toJS() 与 Immutable.js 和 Flux 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27864706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com