将路线特定信息传递给儿童

时间:2017-02-09 00:25:13

标签: react-starter-kit

我的webapp中有多条路由像往常一样。我有几个关于将信息传递到链条的最佳方法的问题,因为我无法找到一个可靠的答案:

  1. 如何将当前路线传递到子组件?我有一个全局组件,用于我的webapp的每个页面。在其中一个页面上,内容必须不同。我能做到这一点的唯一方法是知道正在提供什么页面。或者我是否错误地考虑了这一点,应该只解析componentDidMount()上的window.location来获取我需要的所有内容?

  2. 这与上述观点有关。假设我有一个参数化路由(/ test /:id),其中一个子组件需要在单击按钮时执行一些ajax请求,并且需要将:id传递给端点。我怎么能这样做?

  3. 也许我必须把路由作为属性从路由级别开始一直向下传递?

    我只想弄清楚最佳选择是什么。

    谢谢!

1 个答案:

答案 0 :(得分:0)

您无法将属性一直传递下来,或者您可以将属性存储在商店中并将组件连接到商店。如果你想去商店,你可以试试react-starter-kit的redux分支。这就是我所做的。在根路径上,我将把我的参数放入存储区,所有其他孩子都可以读取它们。以下是react-starter-kit的redux实现:

https://github.com/kriasoft/react-starter-kit/tree/feature/redux