反应redux不更新视图组件

时间:2019-09-24 12:37:44

标签: javascript react-native react-redux reducers

现在,当更改redux状态时,我的视图正在更新,但是如果我单击按钮“ toggleToDoReducer”,则该视图将更新为新状态。 这是我的代码

status ('pending' and 'released')

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

我认为shuffleMe函数直接改变状态。宁可传递状态副本。下面的示例实现

const toggleToDoReducer = (state, payload) => {
  return {
    ...state,
    items: state.items.map((item, index) => {
      if (index === payload) {
        return { text: item.text, isChecked: !item.isChecked };
      }

      return item;
    })
  };
};

const shuffleMe = oldData => {   
    oldData.forEach((element, i) => {
    const j = Math.floor(Math.random() * (i + 1));
    [oldData[i], oldData[j]] = [oldData[j], oldData[i]];     
    });
  return oldData;
};

const shuffleReducer = state => {
  return {
    ...state,
    items: shuffleMe([...state.items])
  };
};

答案 1 :(得分:0)

尝试使用setState({})功能重新渲染视图。