javascript - 扩展深层嵌套 prop 中的属性 ImmutableJS

标签 javascript reactjs immutable.js

我有一个接受 populateKey 作为参数的函数,并且该参数被传递并在名为 substate 的新状态中使用。子状态现在如下所示:let subState = _.get(state, "meta.populate."+ populateKey);。 Immutable 有什么方法可以实现同样的功能吗?

编辑:我现在使用这种方法:参见屏幕截图,但我得到“state.updateIn”不是一个函数。出现这种情况有什么原因吗?

enter image description here

最佳答案

Map#getIn() :

// Example state
let state = Immutable.fromJS({ meta : { populate : { someKey : { some : 'value' } } } });

// Get the substate
let populateKey = 'someKey';
let subState    = state.getIn([ 'meta', 'populate', populateKey ]); // Map { "some" : "value" }

这显然假设 state 是一个不可变对象(immutable对象),并且对其进行的任何更改也会作为不可变对象(immutable对象)在整个应用程序中传播。

关于javascript - 扩展深层嵌套 prop 中的属性 ImmutableJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38137968/

相关文章:

javascript - 在 immutable.js 中更改列表中的一项

javascript - 状态不会使用 Axios 使用 useEffect 更新

javascript - 如何使用jquery在两个不同的地方检查和取消检查具有相同名称的复选框的值?

javascript - 带有子值的 Firebase 多路径原子更新?

javascript - 成功操作多次运行

javascript - 更改所有嵌套对象的值 Immutable.js

javascript - 具有动态内容的 slider 不起作用

javascript - 如何在javascript中将变量传递给href?

javascript - 在 ag-grid 中,是否可以根据 reactJS 中的状态或 Prop 动态停止行点击(包括不以蓝色突出显示行)?

reactjs - Reactjs 应用程序的 webpack 配置中的多个模块用于多个入口点