【问题标题】:Accessing React Router Context访问 React 路由器上下文
【发布时间】:2021-07-09 13:14:24
【问题描述】:

如何在我的应用程序中访问上下文?我遇到了一个 react-router 和 redux 错误,我没有从状态中获取我的路由路径,因此我没有得到 match.props,所以我可以设置路径。我的目标是使用上下文来设置我的路线路径。

【问题讨论】:

    标签: reactjs redux react-redux react-router context-api


    【解决方案1】:

    在 Redux 中存储导航状态通常不是一个好主意。

    您可以使用挂钩 useHistoryuseLocationuseParamsuseRouteMatch 从 react-router 上下文访问数据。

    可能这就是你想要的,它返回当前路径,如"/users/joe":

    const {pathname} = useLocation();
    

    如果您想要与 Route 匹配的路径模板,例如 "/users/:username",那么您可以使用:

    const {path} = useRouteMatch();
    

    【讨论】:

    • 如何在不为不同路由创建不同文件的情况下动态完成?
    • 你能更好地解释你的意思吗?这些钩子useLocationuseRouteMatch 对于当前页面是动态的。您可以创建一个使用这些的自定义挂钩,但我不确定您的实际目标是什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 2017-02-02
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 2017-04-09
    相关资源
    最近更新 更多