React router - 根据当前路由执行一些操作

React router - perform some action based on current route

我正在使用 React 路由器并希望根据当前路由执行某些操作。所以一旦路线改变,我需要执行某些任务。获得预期结果的理想方法是什么。

您最好的选择是查看 onEnteronLeave 钩子。您可以像这样使用它们:

<Route path='/' onEnter={foo} onLeave={bar} />

onEnter 函数将传递三个参数:onEnter(nextState, replace, callback)nextState 是路由器的下一个状态,replace 是一个可以调用以重定向到不同路由的函数,callback 是可选的。如果您使用 callback,路由转换将不会发生,直到您显式调用 callback()。将其保留以避免出现这种情况。

onLeave 函数要简单得多,只要您的应用程序离开该路由,它就会被调用。

可以看官方文档here