如何将自定义道具和历史传递给 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 组件中获取历史对象,我将无法使用历史功能。我在控制台中记录了历史对象,我可以看到没有 push
或 replace
函数了。
在哪里,用这个
<Route path="/" exact component=Home/>
作品完美,但我无法传递我的自定义道具。
【问题讨论】:
【参考方案1】:您只需要使用 Spread 运算符并同时传递您的自定义道具。
<Route exact path="/" component=props => <Home props= data: "check", ...props />/>
如果你在 Home 组件中控制台化 props,你可以在 props.data 中看到 data 的值
【讨论】:
谢谢,这行得通。我假设函数参数是历史对象。快速更正,<Route exact path="/" component=props => <Home data="check" ...props />/>
否则您将不得不像 props.props.history
那样访问历史对象以上是关于如何将自定义道具和历史传递给 Route的主要内容,如果未能解决你的问题,请参考以下文章
如何将自定义道具传递给 QueryRenderer 渲染函数?
将自定义道具传递给 TypeScript 中的 Redux 表单字段