📅  最后修改于: 2023-12-03 15:38:26.020000             🧑  作者: Mango
在 Redux 的 reducer 中,更新一个对象的特定键是一项常见任务。在本文中,我们将介绍如何在 reducer 中实现这个目标。
可以使用 Object.assign
来更新一个对象的特定键。以下是一个示例代码:
const initialState = {
name: 'John',
age: 30
};
function reducer(state = initialState, action) {
switch (action.type) {
case 'UPDATE_AGE':
return Object.assign({}, state, { age: action.payload });
default:
return state;
}
}
在这个例子中,我们创建了一个初始状态对象,并定义了一个 reducer,当 UPDATE_AGE
动作触发时,我们使用 Object.assign
来更新 state 中的 age
属性。Object.assign
方法会将一个空对象作为目标,将 state 对象和 { age: action.payload }
对象作为源,将它们合并成一个新的对象并返回。
你也可以使用展开运算符来实现相同的效果:
const initialState = {
name: 'John',
age: 30
};
function reducer(state = initialState, action) {
switch (action.type) {
case 'UPDATE_AGE':
return { ...state, age: action.payload };
default:
return state;
}
}
在这个例子中,我们使用展开运算符将 state 对象展开成一个新对象,并覆盖 age
属性。
无论你使用哪种方法,这两种都是在 reducer 中更新对象特定键的好选择。 Object.assign
和展开运算符都是 JavaScript 的基本特性,因此可以放心使用。
希望这篇文章对您有所帮助!