如何在反应路由器内的任何路由上调用函数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在反应路由器内的任何路由上调用函数?相关的知识,希望对你有一定的参考价值。
我正在构建一个react / redux / thunk应用程序。我有一些工作和渲染组件的路线。目前我有一个Routes
文件,其中包含我在ReactDOM中渲染的所有路线。
它是一个商店应用程序,我想与我的服务器同步,以便当应用程序加载时,它从数据库加载应用程序与正确的东西。因此,如果有人在他们的篮子里有产品,我希望他们在应用程序加载时放在篮子里
我在努力想办法做到这一点。我想在componentDidMount
中调用它,但只调用特定组件,所以如果用户要打不同的路线,那么它就不会被调用,并且篮子不会被同步。那么有没有办法在每次路线变更时调用一个函数?或者我问题的另一种解决方案?
答案
如果购物车信息是在每个页面/路线上使用的东西,您应该有一个组件可以加载/包含在每个路径上 - 比如标题 - 您可以在其中执行调用以获取购物车数据(如果尚未加载) )。
<Switch>
<Route path='...' component={Comp1} /> // <-- wont load cart info
<Fragment>
<ComponentThatFetchesCartInfo/> // <-- this will get included in every route inside Fragment
<Route path='...' component={comp2}/>
<Route path='...' component={comp3}/>
</Fragment>
</Switch>
以上是关于如何在反应路由器内的任何路由上调用函数?的主要内容,如果未能解决你的问题,请参考以下文章