如何在DOM树中引用兄弟组件或其他组件的反应?

时间:2017-05-15 18:27:36

标签: javascript reactjs

<App>
  <Header/>
  <Content/>
</App>

如果我在反应App中有上述结构,那么<Content/>组件的高度是window.innerHeight - <Header/>高度? 什么是理想的解决方案?我是否必须在组件上设置状态并将更新功能作为组件的支柱传递? 还有一种方法可以在任何组件中获取DOM / VirtualDOM树中的任何组件吗? 我知道我们可以使用ReactDOM.findDOMNode,但我们需要传递refs或组件本身。还有其他方式,如document.getElementsByClassName

1 个答案:

答案 0 :(得分:1)

没有正确的方法(即不是反模式的方式)直接在兄弟组件之间传递信息。正如您所建议的那样,我认为您最好的选择是将此信息作为状态存储在父组件上,并将一个函数作为道具传递给将更新此状态的子项。