首页 >web前端 >js教程 >如何在 React-Router v4 中将自定义 Props 传递给 Router 组件?

如何在 React-Router v4 中将自定义 Props 传递给 Router 组件?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-29 19:23:021007浏览

How to Pass Custom Props to Router Components in React-Router v4?

将自定义属性传递给 React-Router v4 中的 Router 组件

使用 React-Router 处理多页面 React 应用程序时,传递自定义属性各个页面的 props 可以增强代码的灵活性。这允许跨组件定制功能和数据共享。

但是,您遇到了一个问题,即通常用于访问通过路由传递的 props 的 this.props.route 对象返回未定义。要解决此问题,请考虑在 Route 组件中使用 render prop,根据 React-Router 文档:

<Route path="/" exact render={(props) => (<Home test="hi" {...props}/>)} />

在这种方法中,render prop 函数接收与组件 prop 相同的所有 prop,包括自定义的 prop类似测试的道具。要访问 Home 组件中的 prop,请使用 this.props.test。

此外,请确保在 render prop 函数中传递 {...props},因为这可以确保默认的路由器 props(例如位置) 、历史记录和匹配也会传递到您的组件。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn