Javascript 不可变的setIn嵌套对象返回无效的键路径错误
我得到了以下对象:Javascript 不可变的setIn嵌套对象返回无效的键路径错误,javascript,immutable.js,Javascript,Immutable.js,我得到了以下对象: const initialState = Map({ posts: { most_popular: [], trending: [], latest: [], } }); 我试图更新条目中的一个子对象。以下是我尝试过的: intialState.setIn(["posts", "most_popular"], ["array", "of", "values"]); 运行此set命令将返回 Uncaught Error: Invalid ke
const initialState = Map({
posts: {
most_popular: [],
trending: [],
latest: [],
}
});
我试图更新条目中的一个子对象。以下是我尝试过的:
intialState.setIn(["posts", "most_popular"], ["array", "of", "values"]);
运行此set命令将返回
Uncaught Error: Invalid keyPath()
我错过什么了吗?我不需要创建子贴图,是吗?例如
const initialState = Map({
posts: Map({
most_popular: [],
显然这不起作用(我已经试过了),但也许还有另一种设置子对象的方法
编辑:
获取对象,并像这样进行更新:
state.get("entries").most_popular = ["k"];
但这意味着我的作品。最受欢迎的(趋势,最新的)不是一成不变的吗?有没有办法使子对象不可变?使用fromJS()
而不是使用Map()
。如果使用Map()
因此:
现在一切都是不可变的对象。然后您可以轻松地执行以下操作:
initialState.setIn(["posts", "most_popular"], ["array", "of", "values"]);
initialState.setIn(["posts", "most_popular"], ["array", "of", "values"]);