【问题标题】:What exactly is match.url in React Router?React Router 中的 match.url 到底是什么?
【发布时间】:2018-05-25 12:57:10
【问题描述】:

我在 React Router 文档中看到您将 match 属性传递给组件,并且您可以调用 match.url,但您似乎从未真正向组件传递任何内容。那么究竟什么是 match,你从哪里得到它?

【问题讨论】:

    标签: javascript reactjs react-router


    【解决方案1】:

    希望这会有所帮助:https://reacttraining.com/react-router/web/api/match

    你在props中得到match,通常当你的组件被Route调用时你会得到它,你可以将它作为常规props传递给其他组件来提取或使用信息。

    location 在与 react-router 交互时也非常有用。我通常根据 isExact 标志使用 match 进行渲染和重定向,并使用 location 来获得浏览器的实际 URL。

    【讨论】:

      【解决方案2】:

      请参见 match() 是纯 JavaScript 的 String 属性。因此,如果在 JSX 中使用 match,那么 react 也将其设置为自定义属性 match,这样它就不会与 main match() 冲突,并且它是 React Router 的全局对象。

      我遇到过这个问题并且知道不需要担心它应该在 props 或 state 中传递。实际上它是 JSX 中的自定义属性,与实际 String.prototype 的属性不冲突。

      所以不要弄乱你的头,只要把它想象成match() 属性,它来自 React Router 中专门使用的全局对象

      【讨论】:

        猜你喜欢
        • 2020-05-24
        • 2019-11-22
        • 2019-12-28
        • 2022-07-18
        • 2019-05-01
        • 2016-11-20
        • 1970-01-01
        • 2017-05-15
        • 2018-11-16
        相关资源
        最近更新 更多