我开始使用Redux
和React
。我的商店包含多个作业对象,每个对象都有一个 ID。每当我add/update
新作业时,我都想调用一个函数。推荐的方法是什么?
这是我的减速机
function reducer(state:= {}, action) {
const { id, fields } = action.payload
switch (action.type) {
case ADDED:
if (!state[id]) {
return {
...state,
[id]: fields,
},
};
} else {
const currentDate = moment(stat[id].lastModified)
const newDate = moment(fields.metaData.lastModified);
if (!currentDate.isSame(newDate)) {
return {
...state,
[id]: { ...state[id], ...fields },
},
};
}
// don't update otherwise
return state;
}
case OTHERS:
......
}
每当添加某些内容时,我都会将其添加到状态中,如果它已经存在但修改日期较新,我会在该状态中更新它。我希望我的函数在ADDED
情况下被调用
Reducer 只能执行状态更新(不再执行(。似乎您需要为此使用 Redux 中间件