不可变,更新在给出无效的键路径
immutable, updateIn giving invalid keyPath
我正在我的 redux 应用程序中实现不可变,并且updateIn
函数出现问题。我有一个开关,我想在我的减速器中通过此操作打开和关闭它。逻辑是这样的:
case actions.ADMIN_TOGGLE_SETTING:
console.log("hit toggle", action);
console.log("state", state.toJS());
return state.updateIn(['toggleSettings', action.name], (oldValue) => !oldValue);
所以这给了我一个控制台错误 Uncaught Error: invalid keyPath
.我不确定为什么,因为运行 state.toJS() 的控制台日志如下所示:
{
toggleSettings : {
svl : true
}
}
action.name 是"SVL"。所以我想也许 action.name 是问题所在?但它正确通过,看起来像这样:
{type: "ADMIN_TOGGLE_SETTING", name: "svl" }
任何建议都会很棒。谢谢!
updateIn
方法只能用于不可变.js数据结构,因此如果Uncaught Error: invalid keyPath
发出,则数据结构很可能:
{
svl: true
}
是一个普通的 JavaScript 对象而不是不可变.js数据结构,请尝试使用 Immutable.Map
进行转换。
像这样: (oldValue=action.name)=>!oldValue
相关文章:
- Javascript:使用绝对路径设置img src
- 如何在d3.js中返回路径的y坐标
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 复制图像路径以单击它
- 从模块内部访问Express装载路径
- AngularFire 0.5美元移除.错误:Firebase.child失败:第一个参数是无效路径
- 当SVG是单独的文件时,剪辑路径/web工具包掩码有效,但在内联时无效
- 错误:<路径>属性 d=“MNaN,NaNA5,5 0 1,1 NaN,NaNL0,0Z”的值无效
- 不可变,更新在给出无效的键路径
- 谷歌地图:- 无效值错误:设置图标:不是字符串;并且没有网址属性;并且没有路径属性
- C3 时间序列图表给出错误 <路径>属性的值无效
- 如何使用node/express将每个无效请求路由到默认路径
- 错误:<的值无效;路径>属性
- <的值无效;路径>属性
- 单击列表中的项目->查看详细信息但没有输出?Firebase.child失败:第一个参数是无效路径
- 避免无效路径格式错误在D3更新
- D3.js "路径"无效值;属性……“但图表仍在更新
- D3指令-获取路径无效值的错误
- 无法用JavaScript替换/使用relativie图像url.绝对路径有效,相对路径无效
- Firebase child_added事件返回无效路径错误