使用get()方法

时间:2016-12-23 10:18:54

标签: javascript immutable.js

我在项目中使用了immutable.js和redux,我发现了一个非常奇怪的问题。

这是选择器中使用的代码:

{
  dealDetail   : dealDetails.get(id.toString()).toJS(),
  dealTrackLog : dealTrackLogs.get(id).toJS()
}

首先,id是Number,详细地说,我必须传递id的字符串,而在trackLogs中,相反,它必须是Number,否则会导致错误,“无法读取属性{{1}未定义的“

我认为问题可能在reducer中,这是代码:

toJS()

所以,我很难理解为什么以及何时传递数字/字符串?

1 个答案:

答案 0 :(得分:0)

第一行

 let details = {}

您正在使用常规对象获取详细信息状态。对象强制转换为字符串键。 第二种情况是使用保留密钥类型的immutablejs操作。