小编Ton*_*liu的帖子

React Redux Store 更新,但组件不重新渲染

使用终端来测试我调度的操作,Redux-logger 显示我的状态正在正确更新。但是,由于状态更改,我的组件不会重新渲染。我查看了有关组件未重新渲染的 SO 答案,大多数回复声称状态正在发生变化;因此,Redux 不会重新渲染。但是,我使用 Lodash 的合并来深度复制一个对象,我很确定我没有返回一个修改过的对象。(请参阅下面的附件片段)

很想听听你们的一些建议,把我的头发拉出来!

const usersReducer = (state = {}, action) => {
  Object.freeze(state); // avoid mutating state

  console.log(state); 
  // returns an empty object  
  let newState = merge({}, state);
  console.log(newState); 
  // returns my state with my dispatched action object inside  already???
  // newState for some reason already has new dispatched action
  switch (action.type) {
    case RECEIVE_USER:
      let newUser = {[action.user.id] = action.user};
      return merge(newUser, newUser);
    case RECEIVE_USERS:
      newState = {};
      action.users.forEach(user => {
        newState[user.id] = user; …
Run Code Online (Sandbox Code Playgroud)

render reactjs redux react-redux

16
推荐指数
3
解决办法
2万
查看次数

标签 统计

react-redux ×1

reactjs ×1

redux ×1

render ×1