如何将自定义道具和历史传递给 Route

Posted

技术标签:

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

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

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

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

在哪里,用这个

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

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

【问题讨论】:

【参考方案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 那样访问历史对象

以上是关于如何将自定义道具和历史传递给 Route的主要内容,如果未能解决你的问题,请参考以下文章

如何将自定义道具传递给 QueryRenderer 渲染函数?

将自定义道具传递给 TypeScript 中的 Redux 表单字段

如何将自定义道具从 App 传递到单元格以进行 react-table v7?

反应自定义组件 - 无法根据道具设置状态

如何将自定义类型数组传递给 Postgres 函数

Django 如何将自定义变量传递给上下文以在自定义管理模板中使用?