【问题标题】:How to get reactjs router hardcoded params如何获取 reactjs 路由器硬编码参数
【发布时间】:2020-01-02 11:06:42
【问题描述】:

我有以下路线:

<Route path="/userstream/:user" component={ Profile } param="stream" />

然后在我的组件中我以这种方式得到:userthis.props.match.params.user

但是,我如何才能从硬编码参数中获取 stream

提前谢谢你。

【问题讨论】:

    标签: reactjs react-router


    【解决方案1】:

    一种方法是将其作为道具传递给组件:

    <Route path="/userstream/:user" component={ (props) => <Profile {...props} param="stream" /> }  />
    

    编辑:为了完整起见,值得一提的是第二种方法,即使用render prop:

    <Route path="/userstream/:user" render={ (props) => <Profile {...props} param="stream" /> }  />
    

    两种方法之间存在一些性能差异:react router difference between component and render

    【讨论】:

    • @apokryfos 不一定。
    • 也许我使用的是旧版本
    • 我的意思是两者都应该工作,我只是更喜欢这个版本,因为它不那么冗长。
    • 不,我的意思是我认为在旧版本的 react-router 中这不起作用。我不完全确定,但这就是我记得的。
    • 那一定是一个相当旧的版本,它已经存在了一段时间。此外,两种方法之间似乎存在一些性能差异:stackoverflow.com/questions/48150567/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    • 2011-11-24
    相关资源
    最近更新 更多