老師 視頻 07:47

来源:2-6 React 中 ref 的使用

weixin_慕雪0272820

2020-08-23 18:46:35

<div ref = {(div)=>{this.divElem = div}}

為什麼可以直接寫 this.divElem = div?

函數內沒有宣告過divElem這個變數(屬性)啊


写回答

2回答

好帮手慕慕子

2020-08-24

同学你好, 对于你的问题解答如下:

  1. 指的是Counter类的实例。

  2. 语法中规定,箭头函数内部默认没有this,所以会向上查找this,所以这里的this指向的是Counter类的实例。 可以在点击事件函数内部打印查看下,示例:

    http://img.mukewang.com/climg/5f4320c7096a0d2a06580397.jpg

    在事件函数内部this指向的是Counter实例对象,这个对象下有divElem属性,也就是说箭头函数内部的divElem属性是添加到实例对象的。

    http://img.mukewang.com/climg/5f4320ea09a329ca07970474.jpg

祝学习愉快~

0

好帮手慕慕子

2020-08-23

同学你好, 因为this指向的当前实例,所以this.divElem相当于在这个实例对象上添加一个属性,并设置属性值为div,函数内确实没有divElem这个属性,这种写法相当于添加了一个属性,不需要提前声明的。

老师在本小节的2分09s处,讲过类似的使用方法,同学可以回顾视频加深理解与记忆。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

0
heixin_慕雪0272820
h 老師你的意思是說這個this 是指Counter這個class嗎? 可是這不是在(div)=>{this.divElem = div}這個箭頭函數裡面的this嗎? 為什麼在函數裡面的this會指向當前實例? 我以為是class裡面的this才指向當前實例!
h020-08-23
共1条回复

0 学习 · 10739 问题

查看课程