我正在使用redux開發通用反應應用程序。我使用react-router v3。 我想要顯示進度條「BEFORE」前往下一個路線(下一條路線是從API中獲取數據)。在去路由之前顯示進度條
例如想象我在「主頁」,我想去「提交頁面」。當我點擊提交鏈接(react-router Link)時,首先在「主頁」上顯示進度條並等待提交頁面數據提取和然後轉到「提交頁面」。 我的陣營路線:
<Route component={App}>
<Route path={HomingRoutes.HomePage} component={HomePage}/>
<Route path={HomingRoutes.SubmitPage} component={SubmitPage}/>
<Route path={HomingRoutes.SearchPage} component={SearchPage}/>
<Route path={`${HomingRoutes.DealsPage}`} component={DealsPage}/>
<Route path={`${HomingRoutes.DealPage}/:id(/:title)`} component={DealPage}/>
<Route path={`${HomingRoutes.Detail}/:id(/:title)`} component={DetailPage}/>
<Route path="*" component={NoMatch}/>
</Route>
在首頁:
<Link to "/Submit" >Submit</Link>
我提交頁面集裝箱代碼:
class SubmitContainer extends React.Component {
static readyOnActions(dispatch) {
return Promise.all([
dispatch(SubmitActions.fetchSubmitInitialData()),
]);
}
componentDidMount() {
this.props.fetchSubmitInitialData();
}
}
「fetchSubmitInitialData」 是一個動作的創造者,從獲取數據API。
我想你要尋找的是'onEnter'勾https://github.com/ReactTraining/react-router/blob/v3/docs/ API.md#onenternextstate-replace-callback –
@OrB如何從onEnter發送我的redux存儲庫? – Sepehr
您可以直接導入'store',然後使用'store.dispatch()'。我喜歡這裏描述的方法:https://stackoverflow.com/questions/35849970/accessing-redux-store-from-routes-set-up-via-react-router –