React为啥很多类里的标签上事件处理函数要用bind(this)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React为啥很多类里的标签上事件处理函数要用bind(this)相关的知识,希望对你有一定的参考价值。
render() { return ( <div> <p onClick={this.clickHandler.bind(this)}>vz</p> </div> ) } clickHandler() { console.log(this.clickHandler); }
上面标签里若不使用bind的话,点击p标签会报错,因为clickHandler运行时this不指向p标签,若要指向p标签,就需要bind绑上。
其实有时候不用bind改变函数作用域也没问题,哪种情况呢,就是clickHandler定义里不涉及到this指向,如上面的clickHandler里改成console.log(‘12345‘)。
以上是关于React为啥很多类里的标签上事件处理函数要用bind(this)的主要内容,如果未能解决你的问题,请参考以下文章