【问题标题】:Update redux state object property更新 redux 状态对象属性
【发布时间】:2019-12-07 18:47:38
【问题描述】:

如何在 redux 中更新对象的属性并保留对象的其余部分..

const appReducer = (state = initialState, action) => {
  switch (action.type) {
    case 'LOGIN_SUCCESS':
      return Object.assign({}, state, {
        user: { loggedIn: true, level: 'default' },
      });

    case 'UPDATE_PACKAGE': {
      // add a new value for the user.level which would be in action.level
      return { ...state, level: action.level };
    }

    default:
      return state;
  }
};

所以我希望 UPDATE_PACKAGE 更改 redux 存储级别属性的内容......但它没有改变......

【问题讨论】:

  • console.log(action.level); 显示的是什么?还有你怎么知道状态没有正确更新?
  • 你想在第一次渲染时显示你的数据吗????我觉得你想这样做是吗???

标签: javascript reactjs ecmascript-6 redux react-redux


【解决方案1】:

因此,您似乎将 level 设置为根状态而不是用户对象。

这应该可以解决它:

 case "UPDATE_PACKAGE": {
    return { ...state, user: { ...state.user, level: action.level } };
  }

【讨论】:

    猜你喜欢
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 2020-09-30
    相关资源
    最近更新 更多