所以我们可能在减速器中有这个:
const defaultState = {...};
export const userReducer = (state = defaultState, action: any) => {
// ...
}
有什么方法可以为每个对userReducer的调用获取defaultState对象?
像这样:
const getDefaultState = () => ({...});
export const userReducer = (state = getDefaultState(), action: any) => {
// ...
}
这在JS中可行吗?它对于Redux减速器可能没有用,但总的来说很好奇。
最佳答案
是的,正如@blex指出的那样,您的意图是完全可行的。
您的代码段中有一个较小的拼写错误,这可能会导致您出现问题:具有默认值(即state
)的参数必须在具有非默认值(即action
)的参数之后排序。
这是一个极简主义的例子:
let x = () => 3;
let y = (a, b = x()) => a + b;
console.log(y(5)); // 8
console.log(y(5, 1)); // 6