仅此一篇

2019-07-20  本文已影响0人  coffee1949

jsx语法

1.直接写html元素标签,无需加引号
3.其中有js内容只需要加上花括号即可
4.注释用花括号包裹住js注释语法
5.class变className
6.for变htmlFor
7.解析html:dangerouslySetInnerHTML{{__html:数据}}

脚手架

1.组件为什么要引React,上下文并没看到使用?
答:因为用到了jsx语法,所以需要react编译
2.组件类中render函数返回什么,页面就显示什么
3.peoptypes类型验证,defaultProps设置默认props值
4.不能修改父组件传递的props的值,props是只读的
5.setstate有2个参数,可以是2个函数,第一个函数参数接收一个prestate(this.state)的参数,第二个函数参数相当于回调函数,这时候state状态已经改变
6.当组件的props或state发生改变时,render函数会重新执行,
父组件render函数执行时,子组件的render函数也会执行:原因一:子组件写在了父组件的render函数中,原因二:如果子组件是用来父组件传递的props属性,也会重新执行子组件的render函数
7.虚拟dom就是一个js对象,用来描述真实dom:因为操作真实的dom元素对性能要求极高,因此使用虚拟dom对象代替真实dom的部分操作,可以大大提高性能
8.虚拟dom为什么提升性能,减少生成(创建)真实的dom,减少真实dom的比对,使用虚拟dom代替真实dom比对,虚拟dom是js对象,js对象比对比真实dom比对性能更好
9.jsx模板元素-->React.createElement()-->js对象(虚拟dom)-->真实dom
10.diff算法同层比对,key值一一对应加快比对:不推荐index索引作为key值

上一篇下一篇

猜你喜欢

热点阅读