繁体   English   中英

在immutable.js setIn([])函数中动态设置路径

[英]Dynamically set the path in immutable.js setIn([]) function

我有一个不变的对象:

let mutableObject = {
  test: 
     { test2: { a:1, b:2, c:3 } }
}; 

我需要使用setIn()函数在test2对象中设置一个值。 但是在这种情况下,我必须使用数组中的值动态设置它。

let keys = ['test', 'test2'];

我试图像这样设置值:

let immutableObj = fromJS(mutableObject).setIn(keys, [1, 2]);

这是行不通的。

输出应为:

{
  test: { 
    test2 : [1, 2]
  }
}

您的代码是好的。 您只需要转换为常规JS对象即可。 您可以.toJS()使用.toJS()方法。 像这样:

let immutableObj = fromJS(mutableObject).setIn(keys, [1, 2]).toJS();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM