0

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

0 回答 0