【发布时间】:2016-12-05 08:40:12
【问题描述】:
immutablejs Map 有一些 redux 存储。需要在字段中添加“历史”项。
"data":{
"country": {
"value": "US",
"status": "locked",
"history": null
},
"city": {
"value": "NY",
"status": "rejected",
"history": [
{
"value": "NY",
"date": 1447366980,
"reason": "bad"
},
{
"value": "WA",
"date": 1447331640,
"reason": "badbadnotgood"
}
]
},
"event_title": {
"value": "test",
"status": "new",
"history": null
}
}
处理 reducer 的帮助:
case SET_HISTORY:
return state
.updateIn(['data', payload.item, 'history'],
item => item.push(new Map({
reason: payload.value,
date: payload.date,
value: payload.value
}))
)
但是如果 history 为 null 则会出现无法推送未定义的错误。
处理它的最佳做法是什么?
【问题讨论】:
-
状态上的
updateIn是什么?你在 state 上使用任何 redux 中间件吗? -
是Map的immutablejs方法
标签: reactjs redux immutable.js