【问题标题】:how to pass props from one component to other in react router that don't have parent child relationship?如何在没有父子关系的反应路由器中将道具从一个组件传递到另一个组件?
【发布时间】:2016-09-29 02:48:11
【问题描述】:
<Router>
    <Route path="/" component={ Layout }>
        <IndexRoute component={ Home } />

        <Route path="packages" component={ Package }/>
        <Route path="packageDetail/:packageId"   component={ PackageDetail } />

        <Route path="*" component={ NotFound } />
    </Route>
</Router>

如何将包中的道具传递给没有父子关系的packageDetail?

【问题讨论】:

    标签: reactjs react-router


    【解决方案1】:

    使用Redux 或任何其他 Flux 系统来拥有一个全局应用程序状态填充反应组件和通用道具。

    【讨论】:

      【解决方案2】:

      它应该与 React 路由器有什么关系吗?这完全取决于您使用的 Flux/Store 实现(Alt.js、Redux 或其他)。如果你在包中并且做某事,那么它应该在某个 Store 中注册(例如 PackageStore,如果你有 Alt.js,你有很多商店 - 如果你使用 Redux 并且有一个全局状态,那就更容易了), PackageDetails 和 Package 都应该使用的地方。因此,即使您将更改视图,它仍然应该具有访问权限。

      虽然在你的情况下我仍然会将路由更改为更多

      <Route path="package" component={ Package }>
         <Route path="package-id" omponent={ PackageDetails } />
      </Route>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-06
        • 1970-01-01
        • 2020-10-14
        • 1970-01-01
        • 2017-10-26
        • 2021-02-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多