首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >react路由器传递支持到处理程序组件

react路由器传递支持到处理程序组件
EN

Stack Overflow用户
提问于 2015-01-09 16:14:21
回答 25查看 289.6K关注 0票数 378

对于使用React.js的反应路由器应用程序,我的结构如下

代码语言:javascript
运行
复制
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路由器做这件事最简单和正确的方法是什么?

EN

Stack Overflow用户

发布于 2020-08-29 01:20:16

我已经回答了这个问题,这里

下面是几种可以将道具传递给路由组件的方法。

通过使用react路由器v5,我们可以通过使用组件来创建路由,这样我们就可以轻松地将道具传递到所需的组件。

代码语言:javascript
运行
复制
<Route path="/">
    <Home name="Sai" />
</Route>

类似地,您可以在v5中使用子道具。

代码语言:javascript
运行
复制
<Route path="/" children={ <Home name="Sai" />} />

如果您使用的是react路由器v4,您可以使用渲染工具传递它.

侧注-引用React路由器儿童-漏斗医生

有时,您需要呈现路径是否与位置匹配。在这些情况下,您可以使用函数子支持。它的工作方式与呈现完全一样,只是不管是否匹配,它都会被调用。

代码语言:javascript
运行
复制
<Route path="/" render={() => <Home name="Sai" />} />

(最初张贴在https://reactgo.com/react-router-pass-props/上)

票数 6
EN
查看全部 25 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27864720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档