我在使用#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;
}
});