https://redux.js.org/faq/actions#why-应该-类型-字符串或至少可串行化-应该-操作-类型-是常量
虽然可以在任何地方手动创建操作对象,并手动编写每种类型的值,但定义可重复使用的常量可以更容易地维护代码。
我觉得一点都不容易。我95%的动作都用过一两次。有人觉得写作是有益的吗?
背景
我疯狂地写重复动作。即使是像zustand这样的libs也需要行动。所以我决定写一个匿名函数来自动为我更改状态。因此发出了警告。
reducer: (state, action) => {
let newState = { ...state };
if (action.type === "func") {
newState = produce(state, action.func); // import produce from 'immer'
}
return newState;
},
是的,这是可能的,也是可以做到的,但acton的序列化启用了Redux的几个定义功能,如时间旅行调试、记录和回放操作。举个例子:时间旅行调试意味着redux知道特定时间内的新线程何时被解析,并且可以由存储区检查回来以重新呈现组件。redux以不可串行的方式编写它,并没有保持这一轨迹。