【问题标题】:How to pass custom props and history to Route如何将自定义道具和历史传递给 Route
【发布时间】:2021-02-18 00:00:04
【问题描述】:

如何在将自定义道具传递给组件时访问历史功能。

<Route path="/" exact component={<Home prop1={this.state.example}/>}/>

如果我尝试在 Home 组件中获取历史对象,我将无法使用历史功能。我在控制台中记录了历史对象,我可以看到没有 pushreplace 函数了。

在哪里,用这个

<Route path="/" exact component={Home}/>

作品完美,但我无法传递我的自定义道具。

【问题讨论】:

    标签: javascript reactjs routes components react-router-dom


    【解决方案1】:

    您只需要使用 Spread 运算符并同时传递您的自定义道具。

     <Route exact path="/" component={props => <Home props={{ data: "check", ...props }}/>}/>
    

    如果你在 Home 组件中控制台化 props,你可以在 props.data 中看到 data 的值

    【讨论】:

    • 谢谢,这行得通。我假设函数参数是历史对象。快速更正,&lt;Route exact path="/" component={props =&gt; &lt;Home data="check" {...props }/&gt;}/&gt; 否则您将不得不像 {props.props.history} 那样访问历史对象
    猜你喜欢
    • 2020-12-22
    • 2018-04-08
    • 1970-01-01
    • 2019-08-19
    • 2018-01-28
    • 2019-01-05
    • 2018-06-09
    • 2020-10-24
    • 2018-09-12
    相关资源
    最近更新 更多