将自定义属性传递给 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中文网其他相关文章!