如何将新对象创建为默认arg对象

问题描述 投票:0回答:1

所以我们可以在减速器中使用它:

const defaultState = {...};

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

是否有某种方法可以为对userReducer的每次调用获取defaultState对象?像这样的东西:

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

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

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

javascript node.js ecmascript-2018
1个回答
0
投票

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

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

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

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

console.log(y(5)); // 8
console.log(y(5, 1)); // 6
© www.soinside.com 2019 - 2024. All rights reserved.