如何访问在另一个React组件中呈现的元素?

时间:2015-07-27 15:40:08

标签: reactjs

我的应用看起来大致如下:

class App extends React.Component {
  render(){
    var ComponentTwo = this.props.getComponentTwo();
    return (
     <div>
       <ComponentOne />
       {ComponentTwo ? <ComponentTwo /> : []}
     </div>
    );
  }
}

ComponentTwo并不总是相同的组件类,有时它需要与ComponentOne交互 - 即 - 从中​​选择某些元素并将一些侦听器附加到它们。

我希望ComponentTwo能够提供此功能,因为只有在加载ComponentTwo并且它附带了大量代码时才需要它。

允许一个组件动态扩展另一个兄弟组件的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)

我认为在React中实现这种场景的正确方法是在ComponentTwo中执行某些操作后更改App组件的状态,然后将状态更改传递给ComponentOne:

graph[0][1] = 4