reactjs中的`this._newtext`是什么?

时间:2018-05-25 09:32:06

标签: reactjs

我刚刚做了一个ReactJS教程,我点击了这个:

renderForm() {
    return (
        <div className='note'>
            <form>
                <textarea ref={input => this._newText = input}/>
                <button><FaFloppy0/></button>
            </form>
        </div>
    )
}

我理解整个代码,除了ref部分。我知道它是React Docs的一部分,所以这不是我的问题。

我的问题是this._newText是什么?谷歌对此保持沉默。我知道它需要textarea的价值。

但React具体是什么?我以前从未见过这样的事情。

1 个答案:

答案 0 :(得分:2)

Refs提供了一种访问DOM节点或在render方法中创建的React元素的方法。

如果你向render方法中的元素提供一个包含函数的ref道具(就像在你的例子中一样),那么将使用DOM节点或React元素调用该函数。

当textarea被渲染时,react会调用传递textarea的ref方法

ref={input => this._newText = input} // input == textarea ref on render

在渲染函数外部访问ref的典型方法是将其存储在可在整个组件中访问的实例变量this.someVar中。

所以回答你的问题this._newText只是一些存储textarea ref的实例变量(我们知道它可以被命名为任何东西)而不是React特有的。