如何将道具传给某一类型的所有子孙

时间:2015-11-05 09:38:15

标签: reactjs

我希望有一个父组件能够找到某个React类类型的所有后代,并将其传递给prop。所以给出这样的结构:

<Parent>
  <div>
    <em>
      <GimmeProps />
    </em>
  </div>
  <GimmeProps />
</Parent>

componentDidMount的{​​{1}}方法可以找到所有Parent元素并将其设置为:

<GimmeProps>

我该怎么做?我已经尝试递归使用<GimmeProps magic={this.callback} /> ,但我无法告诉React类类型,我也不认为我可以这样设置道具。

1 个答案:

答案 0 :(得分:1)

我相信你所寻找的是context,而不是道具。上下文在很多方面表现得像道具一样,但它们正在从一个组件传递给他们所有的孩子和孙子。

可以使用this.context.foo

在儿童内部访问这些内容

这是一篇解释如何使用道具的博文: https://www.tildedave.com/2014/11/15/introduction-to-contexts-in-react-js.html

上下文的官方反应文件: https://facebook.github.io/react/docs/context.html