Reactjs React.js:findDOMNode和getDOMNode之间的区别

Reactjs React.js:findDOMNode和getDOMNode之间的区别,reactjs,Reactjs,有人能告诉我这两者的区别吗 React.findDOMNode(this.refs.email).value 及 他们在做同样的事情——获取元素的值,但是我应该在哪里使用哪一个。第二个是用于访问refs DOM节点的旧API,第一个是新方法。因此,如果您使用的是最新版本的React,则应使用第一个组件。组件。getDOMNode()从React 0.13开始就不推荐使用: 添加了新的顶级APIReact.findDOMNode(组件),应该是 用于代替组件.getDOMNode()。基于ES6

有人能告诉我这两者的区别吗

React.findDOMNode(this.refs.email).value


他们在做同样的事情——获取元素的值,但是我应该在哪里使用哪一个。

第二个是用于访问refs DOM节点的旧API,第一个是新方法。因此,如果您使用的是最新版本的React,则应使用第一个组件。

组件。getDOMNode()
从React 0.13开始就不推荐使用:

添加了新的顶级API
React.findDOMNode(组件)
,应该是 用于代替
组件.getDOMNode()
。基于ES6的基本类 组件将没有
getDOMNode
。此更改将启用更多 前进的模式

通过

它可能会在React的未来版本中被删除(但不要引用我的话,因为我找不到好的参考)


编辑:更新以反映React 0.14
getDOMNode()
在0.13和0.14中抛出警告,并将在0.15中完全删除:

对于每个返回的DOM节点,我们都添加了一个
getDOMNode
方法,用于向后搜索 在0.15之前与警告一起工作的兼容性

通过

另请注意,从0.14开始,React DOM组件不再需要调用
findDOMNode
getDOMNode

我们在本版本中所做的另一个重大更改是将引用作为DOM节点本身公开给DOM组件。这意味着:我们研究了如何使用React DOM组件的ref,并意识到使用它唯一有用的方法是调用
this.refs.giraffe.getDOMNode()
,以获取底层DOM节点。从这个版本开始,
this.refs.giraffe
是实际的DOM节点请注意,对自定义(用户定义)组件的引用与以前完全相同;只有内置DOM组件受此更改影响。

通过


GitHub上React repo的相关代码和提交:

这里提到:
this.refs.email.getDOMNode().value