Redux中dispatch后状态没更新,是写法有问题吗?
我在React组件里调用dispatch更新Redux状态,但页面没反应,store里的值好像也没变。我确定action和reducer都执行了,因为加了console.log能打印出来。
是不是我修改state的方式不对?比如直接赋值了?我试过用展开运算符,但还是不行。下面是我的reducer代码:
const userReducer = (state = { name: 'old' }, action) => {
if (action.type === 'UPDATE_NAME') {
state.name = action.payload; // 这里是不是错了?
return state;
}
return state;
};
记住redux必须返回新对象,我之前也踩过这个坑,改完就好了