不可变setIn嵌套对象返回无效的keyPath错误
Immutable setIn nested object returning invalid keyPath error
我有以下对象:
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()
,那么你的键most_popular
下的数组是一个标准的JS对象,而不是一个不可变的JS结构。
:
const initialState = fromJS({
posts: {
most_popular: [],
trending: [],
latest: [],
}
});
现在一切都是不可变对象。然后,您可以轻松地执行:
initialState.setIn(["posts", "most_popular"], ["array", "of", "values"]);
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 铬:“;未捕获的语法错误:意外的标记:"
- 如何通过自己获得Chrome扩展的用户反馈/错误报告
- 相位器状态未捕获参考错误
- /undefined在我的404错误日志中多次出现
- Javascript未捕获语法错误意外的标识符错误
- javascript:如何在antlr生成的Lexer中进行错误处理
- Angularjs工厂注入错误
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 不可变setIn嵌套对象返回无效的keyPath错误