📌  相关文章
📜  如何在 reducer 中更新对象的特定键 - Javascript (1)

📅  最后修改于: 2023-12-03 15:38:26.020000             🧑  作者: Mango

如何在 reducer 中更新对象的特定键 - Javascript

在 Redux 的 reducer 中,更新一个对象的特定键是一项常见任务。在本文中,我们将介绍如何在 reducer 中实现这个目标。

1. 使用 Object.assign

可以使用 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 } 对象作为源,将它们合并成一个新的对象并返回。

2. 使用展开运算符

你也可以使用展开运算符来实现相同的效果:

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 的基本特性,因此可以放心使用。

希望这篇文章对您有所帮助!