reactjs - 通过react-router <Link/>传递 Prop 的最佳实践是什么?

标签 reactjs react-router

我使用react-router4。我想通过 Link 将几个 Prop 传递给我的表单组件之一以初始化状态成分。我找到了两种方法:
通过state传递。

<Link to={{pathname:'/orders/', state:{prop1: 'p1', prop2: 'p2', prop3: 'p3'}}} />

并通过查询参数将其路径更改为 /orders/:prop1/:prop2/:prop3

<Link to='/orders/p1/p2/p3' />  

React 提供了如何正确使用它的最佳实践和建议。我想知道是否有任何建议如何通过 <Link /> 传递 Prop 组件。
我什么时候应该使用查询参数以及什么时候状态?

最佳答案

这取决于您正在构建的应用程序的类型,以及导航到下一个组件时您是否已经拥有所有必需的 props

例如,如果应用程序依赖外部 API 来获取订单详细信息。当上orders时页面,我更喜欢使用 <Link to='/orders/1235' />并根据 pathname 获取订单号已收到。原因是因为在orders页面,我没有有关 orderId 1235 的所有详细信息还没有。

对于大多数情况,我使用 pass via state通常仅切换 UI。

<Link to={{pathname:'/home/', state:{newUser: true} }}/>

所以在我的组件中,我有一些东西可以检查是否为 newUser ,我将显示一个说明横幅。

关于reactjs - 通过react-router <Link/>传递 Prop 的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44520580/

相关文章:

reactjs - React Redux : More containers v. 秒。更少的容器

javascript - 针对不同提交类型的 Redux 表单验证

css - 如何在 Material UI 中移动图标

React-router 无法在服务器端渲染

reactjs - react : how can you share the state between views using react-router?

javascript - react 路由器中的链接未定义错误

javascript - 在 HOC 中包装 React 路由渲染函数

reactjs - 使用 ref 查找嵌套元素

reactjs - React 路由器忽略 URL 中的斜杠

javascript - react : Reload logic on route change