插入小插曲:
react组件:
1.受控组件 : 一般用 onchange 同步改变state里面的值 value改变了 state就会同步改变
2.非受控组件:我们不需要同步他的value值 defaultValue
受控组件和非受控组件主要是针对表单控件的
defaultValue和defaultChecked这两个你后期如果不需要拿dom的话那没有关系但是如果你需要操作dom 的话 react拿dom节点的话会非常麻烦 所以可以改用受控组件我们一般使用onChange会更合适。
组件的偏爱图片没有出来的报错
函数式组件的特点:
1.函数式组件的调用名必须是大写字母开头。
2.渲染到真实的页面的时候标签是大写字母开头且是闭合状态的。
3.函数式组件的this是undefined为什么不是windows?
因为你用了bable模式 再bable编译的时候启用的严格模式把里面的this重新给定向了 是不能指向window的
还有就是类里面jsx自动也开启了严格模式 在babel和类两个的双重夹击的情况下 this的最终结果都undefined
如何判断函数中的this指向谁主要是看谁调用了这个this
apply blind call 都能改变this的指向
在类里面自定义方法如果是用普通函数放大写的话那么this的指向问题到后面会有很多步骤,比如是你的这个方法是在类的原型对象里面而不是在这个类的实例对象上面,他这个时候this就会报出undefined ,这个时候你得重新去绑定这个this的指向问题 在构造器里面用bind重新绑定一下这个方法的this