两个this各自指的是什么?

image.png

1.这里2个this不是指向同一个对象,请问各自指的是什么?
class组件内(排除render(){}里面的JSX),默认是没有this的是吗?那么组件实例用什么代表呢?render(){}内jsx的this指的是谁呢?
2.render()方法里面的jsx 和整个class 组件最终有什么区别?


image.png

3.{} 落地是什么意思?是指的渲染完成吗?为何落地后能和class的this是同一个?

阅读 1.7k
1 个回答

函数中的this指向不是看它写在哪,而是要看函数被谁调用,render中的this就是直向组件本身,onclick={this.addNum}的写法是将addNum取值后再赋值给onClick,那么onClick执行调用addNum的时候,addNum里的this就指向button元素,onclick={() => this.addNum}的写法是将箭头函数赋值给onClick,箭头函数没有this,他的this来自父作用域,也就是render,指向组件,并且addNum是被this调用,所以addNum里的this也指向组件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题