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是不可变数据的,每次数据变更需要返回一个新的数据。