Javascript 更新redux状态对象属性

Javascript 更新redux状态对象属性,javascript,reactjs,ecmascript-6,redux,react-redux,Javascript,Reactjs,Ecmascript 6,Redux,React Redux,如何在redux中更新对象的属性并保留对象的其余部分 const appReducer = (state = initialState, action) => { switch (action.type) { case 'LOGIN_SUCCESS': return Object.assign({}, state, { user: { loggedIn: true, level: 'default' }, }); case 'U

如何在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_包更改redux存储级属性的内容。。。但是它没有改变…

所以看起来您是在根状态而不是用户对象上设置
级别

这应该可以解决这个问题:

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

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