React中refs有时候用有时候有不用的区别

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



componentDidMount(){

        this.refs.textarea.focus()

}

上面是我react组件的代码片段,现在有个疑问是

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) });得到的是这个,其他的不用管,因为是代码片段所以显示的不正常,但是本机测试是没问题的。


POPMUISE
浏览 440回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript