首页 > 解决方案 > Redux Thunk 条件 http 请求

问题描述

我在我的 React 应用程序中使用 Redux Thunk,我在其中进行一些条件检查以检查存储中是否已有数据

目前我的逻辑看起来像这样(这只是一个例子,但在整个应用程序中实现了相同的模式)


    const {actions: initialData, loading: loadingActions, error: errorActions} = useSelector(state => state.getActionsReducer)
   
    useEffect(() => {

        if(isEqual(initialData, initialActionState.actions)){
        //indtil videre bliver alle redux actions bare kaldt i useEffect
        allActions.initialStateActions.getLevelData(dispatch)
        allActions.initialStateActions.getActionsData(dispatch)
        }

    }, [loadingActions, initialData, dispatch])

我在没有条件检查的情况下尝试了同样的事情,功能似乎是一样的。

这个检查是多余的吗?

标签: javascriptreduxredux-thunk

解决方案


如果initialData依赖数组中的任何对象或任何对象在应用程序的整个使用过程中都没有改变,那么该检查是多余的,因为它只执行一次。

但是,如果您loadingActions进行更改,useEffect则会再次触发 并且该检查将发挥作用。

需要更多调查来确定检查是否是多余的。


推荐阅读