我是Redux的新手,我对为
编写reducer的最佳实践有疑问这是我目前拥有的:
const arrayReducer = (state = [], action) => {
switch (action.type) {
case ADD_ELEM:
return [...state, action.payload]; // payload expected to be an element
case REMOVE_ELEM:
return state.filter(
elem => (elem.id !== action.payload.id) // payload also expected to be an element
);
case UPDATE_ARRAY:
return action.payload; // payload expected to be an array?
default:
return state;
}
我的代码的问题是,如指定的注释所述,action.payload
类型的不一致。有没有更好的方法来构造这种减速器?
谢谢大家。
P.s:感谢您的回答。我来自Python / Java背景,因此根据不同的用例采用不同类型的事物对我来说还是很新的。