如何在react中使用bind方法?

JavaScript自身特性说明 如果传递一个函数名给一个变量,之后通过函数名()的方式进行调用,在方法内部如果使用this则this的指向会丢失,为了避免这种情况的出现,我们可以使用bind方法。

例如

 

 我可以看到输出了“jack”

 

 假设我们修改一下代码

 

 

 

 页面就会报错,由于我们没有直接调用对象的方法,而是将方法声明给一个中间变量,之后利用中间变量()调用方法,此时this则失去指向。

React事件绑定 React中的bind同上方原理一致,在JSX中传递的事件不是一个字符串,而是一个函数(如:onClick={this.handleClick}),此时onClick即是中间变量,所以处理函数中的this指向会丢失。解决这个问题就是给调用函数时bind(this),从而使得无论事件处理函数如何传递,this指向都是当前实例化对象。

如果不想使用bind(this),我们可以在声明函数时使用箭头函数将函数内容返回给一个变量,并在调用时直接使用this.变量名即可

示例如下

 

 

REACT 函数BIND(THIS)的三种方式 1.在调用地方直接使用,

例:

 

 

2、使用ES6 箭头函数

 

 

 

 

3、构造函数中bind(this)

 

 


 
posted @ 2023-01-29 18:14  AllenPanni  阅读(229)  评论(0)    收藏  举报