0

所以我们可能在减速器中有这个:

const defaultState = {...};

export const userReducer = (state = defaultState, action: any) => {
   // ...
}

有没有办法为每次调用 userReducer 获取一个 defaultState 对象?像这样的东西:

const getDefaultState = () => ({...});

export const userReducer = (state = getDefaultState(), action: any) => {
   // ...
}

这在JS中可能吗?它可能对 Redux 减速器没有用,但总的来说我很好奇。

4

1 回答 1

1

是的,正如@blex 所指出的,您的意图是完全可行的。

您的代码段有一个小错误,可能会导致您出现问题:具有默认值(即state)的参数必须在具有非默认值(即action)的参数之后排序。

这是一个极简主义的例子:

let x = () => 3;
let y = (a, b = x()) => a + b;

console.log(y(5)); // 8
console.log(y(5, 1)); // 6

于 2020-02-21T23:30:47.630 回答