Skip to content

ref的使用

  • ref(reference): 引用,获取元素对应的dom节点
  • 示例
    ... ...
    <input
        id="insertArea"
        className="input"
        value={this.state.inputValue}
        onChange={this.handleInputChange.bind(this)}
        // 构建一个引用,这个引用叫this.input,指向input指定当前input的dom节点
        ref={(input) => {this.input = input}}
    />
    ... ...
    handleInputChange() {
        const value = this.input.value;
        this.setState({
            inputValue: value
        });
    }
    

可能产生的问题

  • ref与setState合用,由于setState异步导致dom数量不一致情况的解决办法
    this.setState({
        // es6 追加
        list: [...this.state.list, this.state.inputValue],
        // 提交后清空当前input
        inputValue: ''
    }, () => {
        console.log(this.ul.querySelectorAll('div).length);
    });