React router - 根据当前路由执行一些操作
React router - perform some action based on current route
我正在使用 React 路由器并希望根据当前路由执行某些操作。所以一旦路线改变,我需要执行某些任务。获得预期结果的理想方法是什么。
您最好的选择是查看 onEnter
和 onLeave
钩子。您可以像这样使用它们:
<Route path='/' onEnter={foo} onLeave={bar} />
onEnter
函数将传递三个参数:onEnter(nextState, replace, callback)
。 nextState
是路由器的下一个状态,replace
是一个可以调用以重定向到不同路由的函数,callback
是可选的。如果您使用 callback
,路由转换将不会发生,直到您显式调用 callback()
。将其保留以避免出现这种情况。
onLeave
函数要简单得多,只要您的应用程序离开该路由,它就会被调用。
可以看官方文档here
我正在使用 React 路由器并希望根据当前路由执行某些操作。所以一旦路线改变,我需要执行某些任务。获得预期结果的理想方法是什么。
您最好的选择是查看 onEnter
和 onLeave
钩子。您可以像这样使用它们:
<Route path='/' onEnter={foo} onLeave={bar} />
onEnter
函数将传递三个参数:onEnter(nextState, replace, callback)
。 nextState
是路由器的下一个状态,replace
是一个可以调用以重定向到不同路由的函数,callback
是可选的。如果您使用 callback
,路由转换将不会发生,直到您显式调用 callback()
。将其保留以避免出现这种情况。
onLeave
函数要简单得多,只要您的应用程序离开该路由,它就会被调用。
可以看官方文档here