Reactjs 获取click事件处理程序函数中的立即redux存储状态

Reactjs 获取click事件处理程序函数中的立即redux存储状态,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我有一个搜索组件,当输入文件被输入,按下搜索按钮时,我想立即得到一个响应,处理它并重定向到另一个页面 我想在分派事件后获取存储的即时状态 这是我获取存储状态和调度操作的钩子 export function useSpIdCheckRedirect(): [ISPPerfSummaryCardsState, SpIdData] { const dispatch = useDispatch(); return [ useSelector<IAppstate, ISPPerfS

我有一个搜索组件,当输入文件被输入,按下搜索按钮时,我想立即得到一个响应,处理它并重定向到另一个页面

我想在分派事件后获取存储的即时状态

这是我获取存储状态和调度操作的钩子

export function useSpIdCheckRedirect(): [ISPPerfSummaryCardsState, SpIdData] {
  const dispatch = useDispatch();

  return [
    useSelector<IAppstate, ISPPerfSummaryCardsState>(
      (state) => state.spPerfSummaryCardsState,
      shallowEqual
    ),
    {
      getSpIdData(spId: string, dataFilter: string) {
        dispatch(
          getDataStartSPPerfSummaryCardsAction({
            spId: spId,
            dateFilter: "LAST30DAYS",
          })
        );
      },
    },
  ];
}
这是使用钩子的地方

function SPHighlights({ spData }: Props) {


  let [state, { getSpIdData }] = useSpIdCheckRedirect();
  

  const HandleSPSearchClick = () => {
    getSpIdData(searchState, "LAST30DAYS");
    console.log(state);

    if (state.isFetching == LoadingStatus.LOADING_SUCCESS) {
      console.log(state);
    }

  };}
但是,单击处理程序中的条件检查仅在第二次单击中变为true

我想在点击处理程序中立即获得商店更新,我该怎么做


此外,我还使用了redux saga中间件。

在功能组件中搜索输入字段和按钮所在的代码中,您在哪里使用
UseSpidCheckDirect
?返回范围?它甚至可以编译吗?是的,我返回useSelector钩子和分派操作函数,分派操作和从钩子获取存储状态都会发生。
function SPHighlights({ spData }: Props) {


  let [state, { getSpIdData }] = useSpIdCheckRedirect();
  

  const HandleSPSearchClick = () => {
    getSpIdData(searchState, "LAST30DAYS");
    console.log(state);

    if (state.isFetching == LoadingStatus.LOADING_SUCCESS) {
      console.log(state);
    }

  };}