在React-Redux中加载商店

时间:2018-10-23 12:42:30

标签: javascript reactjs react-redux

我是React-Redux的新手,我有一个应用程序,其所有存储都预先加载在index.js文件上,该文件是呈现该应用程序的入口点。我的页面中有以下代码(部分代码)。

   if(Auth.isUserAuthenticated()){
  store.dispatch(getProductCategories());
  store.dispatch(getProducts());
  store.dispatch(getAuctions());
  store.dispatch(getAppSettings());
  store.dispatch(getWalletTransactionHistory());
  store.dispatch(getAllUsers());
  store.dispatch(getParticipatedAuctions());
  store.dispatch(getParticipatedAuctionsList());        
  store.dispatch(getWalletBalance())
  }
  store.dispatch(getHomePageAuctions());
  store.dispatch(getAllPageAuctions());
  store.dispatch(getPriceCards());


render(
  <AppContainer>
    <App store={store} history={history} />
  </AppContainer>,
  document.getElementById('app')
);

以上操作在每次路由更改时都会调度,但是我希望它在页面load上只调度一次。我什至尝试将其放置在App component中的ComponentDidMount()上,还尝试将其放置在该组件的constructor()中,但是没有运气不及预期,并且搜索了google但没有运气完全匹配或与其相似

1 个答案:

答案 0 :(得分:0)

我建议将您的store.dispatch调用移至App.js的componentDidMount中。由于App.js仅会挂载一次,因此只会触发一次。