react中ref

127 阅读1分钟

react中ref

如何使用

ref 是一个入口 允许您直接访问DOM元素或组件实例。
为了使用它们,您可以向组件添加一个ref属性,该属性的值是一个回调函数,它将接收底层的DOM元素或组件的已挂接实例作为其第一个参数。 相当于组件挂载之后触发此回调函数,然后被父组件捕获。我能能够获取到子元素的props,ref等属性进行操作。
另外一种在JSX中通过ref='abc'的方式已经被弃用

class UnControlledForm extends Component {
  handleSubmit = () => {
    console.log("Input Value: ", this.input.value)
  }
  render () {
    return (
      <form onSubmit={this.handleSubmit}>
        <input
          type='text'
          ref={(input) => this.input = input} />
        <button type='submit'>Submit</button>
      </form>
    )
  }
}

如何获取真实DOM元素

通过ReactDOM.findDOMNode方法获取真实DOM元素(不建议采用document.getElementById等原生方法) ReactDOM.findDOMNode(ref)