1.这里2个this不是指向同一个对象,请问各自指的是什么?
class组件内(排除render(){}里面的JSX),默认是没有this的是吗?那么组件实例用什么代表呢?render(){}内jsx的this指的是谁呢?
2.render()方法里面的jsx 和整个class 组件最终有什么区别?
3.{} 落地是什么意思?是指的渲染完成吗?为何落地后能和class的this是同一个?
1.这里2个this不是指向同一个对象,请问各自指的是什么?
class组件内(排除render(){}里面的JSX),默认是没有this的是吗?那么组件实例用什么代表呢?render(){}内jsx的this指的是谁呢?
2.render()方法里面的jsx 和整个class 组件最终有什么区别?
3.{} 落地是什么意思?是指的渲染完成吗?为何落地后能和class的this是同一个?
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
函数中的this指向不是看它写在哪,而是要看函数被谁调用,render中的this就是直向组件本身,
onclick={this.addNum}
的写法是将addNum取值后再赋值给onClick,那么onClick执行调用addNum的时候,addNum里的this就指向button元素,onclick={() => this.addNum}
的写法是将箭头函数赋值给onClick,箭头函数没有this,他的this来自父作用域,也就是render,指向组件,并且addNum是被this调用,所以addNum里的this也指向组件