【发布时间】:2016-07-22 14:54:21
【问题描述】:
在我的 Redux 应用程序中,我有一个对象数组,表示开店的天数和小时数列表,如下所示:
[{day: 'Monday', from:'10', to:'18'}, {day: 'Tusday', from: '8', to:'16'}, {...}]
我创建了一个包含一周中天数列表的组件。当点击一天中的某一天时,使用代表一天的有效负载完成调度:
{day: 'Monday', from:'10', to:'18'}
我从一个空数组开始,我将一个 dayObject 推送到数组中。当我再次推送同一个对象时,这意味着我想删除它(在 React 组件上取消选中它)。
当我在一天中更改开放时间对象时,我再次推送它,更改开放时间,所以我想删除旧对象并将新对象推送到数组中,新时间。
if(_.some(days,
{
day: action.payload.day
}
)) {
// replace current object, how ?
}
if(_.some(days,
{
day: action.payload.day,
from: action.payload.from,
to: action.payload.to
}
)) {
// duplicate, uncheck on UI so remove it
_.remove(days {day: action.payload.day})
} else {
days.push(action.payload)
}
所以,看起来我的问题在于检测对象是重复的还是某个 dayObject 的修改版本,所以我应该替换它。有什么帮助吗?
【问题讨论】:
标签: javascript arrays reactjs redux lodash