javascript - 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])
我在没有条件检查的情况下尝试了同样的事情,功能似乎是一样的。
这个检查是多余的吗?
解决方案
如果initialData
依赖数组中的任何对象或任何对象在应用程序的整个使用过程中都没有改变,那么该检查是多余的,因为它只执行一次。
但是,如果您loadingActions
进行更改,useEffect
则会再次触发 并且该检查将发挥作用。
需要更多调查来确定检查是否是多余的。
推荐阅读
- asp.net - 在 SelectedIndexChanged() 中设置控件 Enabled 属性仅在第一次运行时有效
- python - MacOS:安装了多个 python 版本并且无法管理。想要清理
- arrays - 如何获得正确的 PByteArray 元素总数?
- android - 是否有 NEXT 或 CONTINUE 的 NATIVE ANDROID 按钮?如果是这样,它看起来像什么?
- xcode - iOS 登录应用程序无法在 appcenter 上运行
- java - Spring 模块应用程序属性
- java - Jhipster JPA - 过期后删除实体
- python - 在heroku上部署的Django web-app上没有css样式
- blockchain - 如何在corda中进行多层查询,从一种模式到另一种模式
- angular - Angular 多重过滤 Observable,rxJS