【发布时间】:2017-01-15 02:05:36
【问题描述】:
如何在不改变整个树的情况下更新嵌套的不可变 Map 项?
示例:
var tree = Map({
branch1:Map([]),
branch2:Map({ 1: Map({id:1,value:'hello'}) }),
});
如何更新 tree.branch2.1.value ?
这会导致 branch1 获得新副本吗?
我在 Reactjs Redux 应用程序中使用它。因为我也在使用选择器,所以我想更改 branch2 的值而不更改分支 1,这样选择器就不会再次重新计算
【问题讨论】:
-
参见github.com/reactjs/reselect——一个很好的库,用于创建记忆选择器,这样您就不必担心它们会在状态更新时重新计算。
标签: reactjs redux immutable.js reselect