从React中的独立主管访问另一个组件DOM元素,避免使用document.getElementById

时间:2018-03-29 06:07:48

标签: javascript reactjs dom single-page-application react-dom

我的React应用程序中有两个不同的组件。一个组件显示弹出,另一个组件用于文本搜索字段。 他们之间没有关系(亲子)。

我的问题是当用户点击弹出消息(组件)时,将焦点文本字段放在另一个组件中。

如何在不使用 document.getElementById 的情况下处理这种情况? 只使用像 reactDOM与ref 这样的特定方式做出反应。

可以这样处理吗?

由于

1 个答案:

答案 0 :(得分:0)

找到公共父组件,并编写一个函数,该函数使用要聚焦的元素的ref来更新状态。将该函数作为道具传递给第二个组件。  并使用<input ref={r => this.props.func(r)

现在点击第一个组件即可访问此父状态。