对于使用React.js的反应路由器应用程序,我的结构如下
var Dashboard = require('./Dashboard');
var Comments = require('./Comments');
var Index = React.createClass({
render: function () {
return (
<div>
<header>Some header</header>
<RouteHandler />
</div>
);
}
});
var routes = (
<Route path="/" handler={Index}>
<Route path="comments" handler={Comments}/>
<DefaultRoute handler={Dashboard}/>
</Route>
);
ReactRouter.run(routes, function (Handler) {
React.render(<Handler/>, document.body);
});我想将一些属性传递到Comments组件中。
(通常我会像<Comments myprop="value" />一样这样做)
用React路由器做这件事最简单和正确的方法是什么?
发布于 2020-08-29 01:20:16
我已经回答了这个问题,这里。
下面是几种可以将道具传递给路由组件的方法。
通过使用react路由器v5,我们可以通过使用组件来创建路由,这样我们就可以轻松地将道具传递到所需的组件。
<Route path="/">
<Home name="Sai" />
</Route>类似地,您可以在v5中使用子道具。
<Route path="/" children={ <Home name="Sai" />} />如果您使用的是react路由器v4,您可以使用渲染工具传递它.
侧注-引用React路由器儿童-漏斗医生
有时,您需要呈现路径是否与位置匹配。在这些情况下,您可以使用函数子支持。它的工作方式与呈现完全一样,只是不管是否匹配,它都会被调用。
<Route path="/" render={() => <Home name="Sai" />} />https://stackoverflow.com/questions/27864720
复制相似问题