如果Redux存储中存在数据,则阻止API调用

时间:2019-04-04 12:24:57

标签: reactjs redux

我在/dashboard上有2条路由/battery/dashboard,我在componentWillMount()上调用我的API,然后一旦我使用redux收到响应,就执行{{1} }更新我的状态及其工作正常,但是如果我使用react-router-dom导航到/ battery,然后又想返回/ dashboard,那么由于数据已经存在于redux-store中,我该如何防止API调用。

componentWillReceiveProps()

1 个答案:

答案 0 :(得分:1)

一个可能的解决方案,在动作创建者内部,您可以使用getState()获取当前的还原状态。只需在该api调用之前检查一下,您的redux存储为空或未设置。

下面是执行该操作的动作创建者的示例:

requestList: () => {
        return (dispatch, getState) => {
            if (getState().list === null) {
                /* API CALL HERE*/
            }
        }
    }