【问题标题】:React-router need a way to detect route changeReact-router 需要一种检测路由变化的方法
【发布时间】:2016-04-12 04:00:00
【问题描述】:

我寻找一种检测路线变化/离开的方法。我尝试了示例https://github.com/rackt/react-router/blob/master/docs/guides/advanced/ConfirmingNavigation.md,但我无法让它在我的项目中工作。

http://pastebin.com/TXW71gmV

我也需要获取下一条路线,所以路线参数onLeave 没有提供任何信息。

我知道我可以在 onLeave 函数中检测到带有document.location 的 URL,但我想要更一致或内置的东西。

有人可以帮我解决这个问题吗?

谢谢

【问题讨论】:

    标签: javascript reactjs react-router


    【解决方案1】:

    当由 React Router 触发转换时,确实会在下一个位置调用路由离开钩子。

    如果你真的直接离开页面,你不会看到这个,因为它只会点击“卸载前”钩子,路由器无法从中构建下一个位置,因为它不是路由器正在管理的东西。

    【讨论】:

    • 感谢您的回答! github.com/rackt/react-router/blob/latest/docs/API.md#onleave,API 说它没有任何“下一个位置”信息。我昨天创建了一个关于向 onLeave 钩子添加 nextLocation 参数的问题,我很快就被关闭了:S
    • 那个onLeave钩子与“确认导航”模式中使用的路由离开钩子不同。
    • 我知道,但是路由离开钩子在我的脚本中不起作用:S
    猜你喜欢
    • 2018-01-04
    • 1970-01-01
    • 2019-11-27
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 2021-03-02
    相关资源
    最近更新 更多