使用#react-hooks时出现问题。当我通过onClick事件调度动作时,“存储状态”会正确更新。但是,当我在useEffect内调度一个动作(它的工作方式类似于“ componentDidMount”)时,状态不会更新。
我尝试调试,发现“ Redux Dev Tools”似乎有问题。 (我在组件中控制了存储状态,并且可以正常工作)。
这是我调度动作的方式:
useEffect(() => {
onGetPosts();
}, []);
我的减速器:
const postPageReducer = (state = initialState, action) =>
produce(state, draft => {
switch (action.type) {
case LOAD_POSTS_REQUEST:
console.log('LOAD_POSTS_REQUEST');
draft.load = true;
draft.error = false;
draft.posts = false;
break;
case LOAD_POSTS_SUCCESS:
console.log('LOAD_POSTS_SUCCESS');
draft.loading = false;
console.log(action);
draft.posts = action.posts;
break;
case POSTS_ERROR:
console.log('POSTS_ERROR');
draft.error = action.error;
draft.loading = false;
break;
}
});