react.js - react-redux的state改变却没有重新渲染
本文介绍了react.js - react-redux的state改变却没有重新渲染的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
let data = {
list:[{
key:0,
name:"aaa",
gender:1,
birthday:"1999-07-23",
hobby:'篮球'
},
{
key:1,
name:"bbb",
gender:1,
birthday:"1999-10-02",
hobby:'链球'
}]
}
const counter = (state = data, action) => {
switch (action.type) {
case "DELETE_MEMBER":
state.list.splice(action.idx,1);
console.log(state);
return state;
default:
return state
}
}
export default counter;
action.idx是删除的序号,我console出来发现state确实变了,但是却没有渲染
解决方案
state的引用没变,导致比较的时候前后state相等,所以没触发渲染。
redux是不可变数据的,每次数据变更需要返回一个新的数据。
这篇关于react.js - react-redux的state改变却没有重新渲染的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文