现在,当更改redux状态时,我的视图正在更新,但是如果我单击按钮“ toggleToDoReducer”,则该视图将更新为新状态。 这是我的代码
status ('pending' and 'released')
任何帮助将不胜感激
答案 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({})
功能重新渲染视图。