【发布时间】:2017-12-17 14:21:50
【问题描述】:
我有以下 JSON 对象...
{ name: "Jessie" }
我希望能够通过我的路由器传递它,以便它可以显示在我的页面上。例如,这是我的根页面...
StaticPage.jsx
export default class StaticPage extends React.Component {
render() {
return (
<div>
<Router history={hashHistory}>
<Route path='/' component={Search} />
<Route path='/favorites' component={Favorites} />
</Router>
</div>
);
}
}
所以将这些数据传递给搜索,我想可能看起来像这样......
<Route path='/' component={Search} name = {this.props.name}/>
但是,当我这样做时,什么都没有渲染。我已经对此进行了很多研究,并且从我所读到的内容中了解到,您不能通过路由器传递对象。很奇怪,路由器看起来像一个传统的 React 组件,但它并没有这样的功能。对我来说,解决方法的任何解释都不清楚。任何人都可以为我提供使用此代码的示例吗?我正在使用反应路由器 3.0。 4.0 似乎没有任何神奇的解决方案,所以我想在升级之前我会问。谢谢!
【问题讨论】:
-
你的意思是把它传递给
StaticPageprops 还是在URL里面传递? -
在我的搜索页面的 URL 中。我已经通过在静态页面中执行 h1 对其进行了测试,它可以正确呈现,但它没有传递到我的页面。
-
所以您将名称作为道具传递给要传递给 Search 的 StaticPage?
标签: reactjs react-native react-router