gpt4 book ai didi

javascript - 不可变的,updateIn 提供无效的 keyPath

转载 作者:行者123 更新时间:2023-11-30 09:52:40 29 4
gpt4 key购买 nike

我正在我的 redux 应用程序中实现不可变,并且 updateIn 函数有问题。我有一个开关,我想在我的 reducer 中通过这个 Action 打开和关闭。逻辑是这样的:

     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 方法只能在 immutable.js 数据结构上工作,所以如果 Uncaught Error: invalid keyPath 发出,很可能是你的数据结构:

{
svl: true
}

是一个普通的 JavaScript 对象而不是 immutable.js 数据结构,尝试使用 Immutable.Map 转换它。

关于javascript - 不可变的,updateIn 提供无效的 keyPath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35563724/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com