首页 > web前端 > js教程 > 正文

如何在 React Router 的链接中将 Props 传递给目标组件?

Linda Hamilton
发布: 2024-10-31 21:38:02
原创
736 人浏览过

How to Pass Props to Target Components in React Router's Link?

在 Link React-Router 中传递 Props

React-Router 的 Link 组件允许将属性传递给目标组件。然而,确保正确的路由配置以促进数据传输至关重要。

当路由路径与预期的属性检索不匹配时,就会出现问题。在提供的代码中,对于目标组件缺少相应的路径:

<Route name="ideas" handler={CreateIdeaView} />
登录后复制

要解决问题并通过链接传递属性,请在路由配置中指定路径,确保其与 中的参数对齐。组件:

<Route name="ideas" path="/:testvalue" handler={CreateIdeaView} />
登录后复制

:testvalue 占位符参数对应于 中传递的属性:

<Link to="ideas" params={{ testvalue: "hello" }} />
登录后复制

现在可以在目标组件的 render 方法中访问属性:

render: function() {
  console.log(this.props.match.params.testvalue); // logs "hello"
}
登录后复制

在功能组件中使用钩子,你可以像这样访问 props:

const CreatedIdeaView = () => {
  const { testvalue } = useParams();
  console.log(testvalue); // logs "hello"
}
登录后复制

或者,如果你需要传递查询参数而不是路径参数,你可以像这样使用它:

<Link to={{pathname: '/ideas', query: {testvalue: "hello"}}} />
登录后复制

目标组件中:

componentDidMount() {
    console.log(this.props.location.query.testvalue) // logs "hello"
}
登录后复制

以上是如何在 React Router 的链接中将 Props 传递给目标组件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!