我在/dashboard
上有2条路由/battery
和/dashboard
,我在componentWillMount()
上调用我的API,然后一旦我使用redux收到响应,就执行{{1} }更新我的状态及其工作正常,但是如果我使用react-router-dom导航到/ battery,然后又想返回/ dashboard,那么由于数据已经存在于redux-store中,我该如何防止API调用。
componentWillReceiveProps()
答案 0 :(得分:1)
一个可能的解决方案,在动作创建者内部,您可以使用getState()
获取当前的还原状态。只需在该api调用之前检查一下,您的redux存储为空或未设置。
下面是执行该操作的动作创建者的示例:
requestList: () => {
return (dispatch, getState) => {
if (getState().list === null) {
/* API CALL HERE*/
}
}
}