ReactDOM 中的API:findDOMNode, unmountComponentAtNode, render

findDOMNode

1
2
3
4
import ReactDOM from 'react-dom'
// DOMElement findDOMNode(ReactComponent)
const dom = ReactDOM.findDOMNode(this)
  • 只对已经挂载的组件有效

render

1
2
3
ReactComponent render(ReactElement element, DOMElement container, [function callback])
ReactDOM.render(<App />, document.getElementById('root'));

unstable_renderSubtreeIntoContainer

1
// ReactDOM.unstable_renderSubtreeIntoContainer(parentComponent, nextElement, container, callback)

ref

1
2
3
4
5
6
7
// 回调函数和字符串
<input ref={(ref) => { this.myInput = ref }} />
<input ref='myInput' />
// 获取input元素
this.myInput
this.refs.myInput
  • 为了防止内存泄漏,当卸载一个组件的时候,组件里所有的 refs 就会变为 null
  • findDOMNode 和 refs 都无法用于无状态组件中(无状态组件挂载时只是方法调用,没有新建实例)