React总结笔记
react核心概念
-
元素:一种不变的jsx对象
-
组件:react中的对象,类比其他语言中的类,组件的实例化过程生成元素,组件的定义分两种:函数形式、继承类形式,必须以大写字母开头
-
组件的实例化:实际上没有这个概念,只是为了理解,定义组件实际上就是定义了一个标签,标签组成元素即相当于实例化。简单理解,组件就是自定义标签。
-
React DOM:React系统本身的DOM,可以理解为React元素所映射的DOM,而React系统将这个DOM渲染出HTMLDOM,但是HTML DOM的变动相当消耗性能,而React DOM则通过某种算法(Diffing)先算出需要改动哪些HTMLDOM然后再修改相应的HTMLDOM,这个过程比直接修改HTMLDOM的性能要高出许多。
-
props:组件实例化中传入的参数对象 ,任何时候组件内部都不应该修改props中的值,可以是任意类型的参数,通过组件实例化时的属性键值对传入。
-
state:组件状态,负责记录组件数据的对象,与props共同收录了组件的信息。
-
生命周期:与vue的生命周期类似,React的对象是纯的js对象,为了与htmlDOM绑定起来,需要进行一系列的操作,创建、挂载、使用、卸载,因此也形成了几个阶段,每个阶段预先预定义了钩子函数,可以对函数重写以实现功能。
-
jsx:react.createElement()函数的语法糖,一种js的扩充语法。
-
数据流:数据应该始终从父组件流向子组件,如果有全局的数据共享可以使用context定义。
-
状态提升:如果多组件之间有共同使用的数据,应当将数据定义到最高级的组件中。
babel:编译器,将es6等特殊代码转译成通用的低版本js代码。
webpack/browsify:分包工具,代码分割。
问题:
- React是JS框架,不涉及到样式方面的内容,所以大工程应该怎样管理样式?