今天在react中子父传参里, 点击按钮向父组件传递信息时出现了这个错误如图:↓

这个问题很明显, 从字面意思看就是props前面的这个值没有找到, 然后看源码里面, 前面是个this, 如下图:

也就是在点击下面的button按钮时, 本来应该执行上面的sendMessage, 将父组件内容改掉, 可是却没有找到props前面的this, 然后测试在sendMessage方法中直接打印this , 发现是 undefined, 也就是说根本就没有this, 当然无法调用this里面的props了. 

因此, 解决时要从this入手, 有两种解决方案:

①将上面的sendMessage函数写成箭头函数,这样它的this就是直接继承到了Child2.如图:

②手动改变this指向, 即在下面调用的时候用bind方法再指回this,如图

这两种办法都可以解决.  但是,  为什么刚开始那种写法   this指向的是undefined呢?.........哎这个还不太懂, 每次到this指向就很懵, 还要多请教学习 , 加油(ง •_•)ง

 

 

 

 

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐