在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ React中refs有時候用有時候有不用的區(qū)別

React中refs有時候用有時候有不用的區(qū)別

<textarea value={this.state.content} ref={(textarea)=>this.textarea=textarea} onChange={this.bandleContentChange.bind(this)}/>


componentDidMount(){
        this.refs.textarea.focus()
}

上面是我react組件的代碼片段,現(xiàn)在有個疑問是
ref={(textarea)=>this.textarea=textarea}我DidMount里如果寫為this.textarea.focus()編譯就沒問題,但是我寫為上面這種方式就提示Cannot read property 'focus' of undefined,問題是這里為什么沒有refs?this.reds.XXXX,不都是這種形式嗎?
我在babel中編譯的時候React.createElement("textarea", { value: undefined.state.content, ref: function ref(textarea) {return undefined.textarea = textarea;}, onChange: undefined.bandleContentChange.bind(undefined) });得到的是這個,其他的不用管,因為是代碼片段所以顯示的不正常,但是本機測試是沒問題的。

回答
編輯回答
敢試

react的ref有兩種寫法:
1.

ref='a'

此時的this.refs.a是一個組件實例,也可能是個dom節(jié)點
2.

ref={a => this.a = a}

此時的this.refs.aundefined, 需要通過this.a來訪問

2018年4月27日 15:04
編輯回答
愚念

清晰明了,受教了

2018年8月21日 00:06