什么是 extraReducers 映射对象概念
What is extraReducers map object notion
当阅读 redux 工具包官方文档时,我在 createSlice
部分看到了这个:
const incrementBy = createAction('incrementBy')
createSlice({
name: 'counter',
initialState: 0,
reducers: {},
extraReducers: {
[incrementBy]: (state, action) => {. ///what is this
return state + action.payload
},
'some/other/action': (state, action) => {},
},
})
我不明白为什么这里有 array
。为什么我们在这里使用 string
而 为什么我们在数组中使用它 ( [incrementBy
] )?
求助,万分感谢
这不是数组,而是计算属性。这将在 运行 时间
将 key
添加到对象
let prop = "name";
const obj = {
[prop]: "Whosebug",
};
console.log(obj);
extraReduce
是一个对象,在代码中 incrementBy
将给出 属性 名称,同时您正在为该 属性 名称分配一个函数。
let prop = "getSum";
const obj = {
[prop]: (arr) => {
return arr.reduce((acc, curr) => acc + curr, 0);
},
};
console.log(obj[prop]([1, 2, 3, 4, 5]));
console.log(obj.getSum([1, 2, 3, 4, 5]));
当阅读 redux 工具包官方文档时,我在 createSlice
部分看到了这个:
const incrementBy = createAction('incrementBy')
createSlice({
name: 'counter',
initialState: 0,
reducers: {},
extraReducers: {
[incrementBy]: (state, action) => {. ///what is this
return state + action.payload
},
'some/other/action': (state, action) => {},
},
})
我不明白为什么这里有 array
。为什么我们在这里使用 string
而 为什么我们在数组中使用它 ( [incrementBy
] )?
求助,万分感谢
这不是数组,而是计算属性。这将在 运行 时间
将key
添加到对象
let prop = "name";
const obj = {
[prop]: "Whosebug",
};
console.log(obj);
extraReduce
是一个对象,在代码中 incrementBy
将给出 属性 名称,同时您正在为该 属性 名称分配一个函数。
let prop = "getSum";
const obj = {
[prop]: (arr) => {
return arr.reduce((acc, curr) => acc + curr, 0);
},
};
console.log(obj[prop]([1, 2, 3, 4, 5]));
console.log(obj.getSum([1, 2, 3, 4, 5]));