我在项目中使用了immutable.js和redux,我发现了一个非常奇怪的问题。
这是选择器中使用的代码:
{
dealDetail : dealDetails.get(id.toString()).toJS(),
dealTrackLog : dealTrackLogs.get(id).toJS()
}
首先,id
是Number,详细地说,我必须传递id的字符串,而在trackLogs中,相反,它必须是Number,否则会导致错误,“无法读取属性{{1}未定义的“
我认为问题可能在reducer中,这是代码:
toJS()
所以,我很难理解为什么以及何时传递数字/字符串?
答案 0 :(得分:0)
第一行
let details = {}
您正在使用常规对象获取详细信息状态。对象强制转换为字符串键。 第二种情况是使用保留密钥类型的immutablejs操作。