一、ES6 的编译方法
目前主流的浏览器还不支持ES6。 现在一般采用webpack 和 <script type="text/babel">
对jsx 语法进行编译,编译成正常的js语言。type='text/babel' 这个是引用babel.js库。
二、react 中有个PropTypes
在react中组件的属性可以接受任意值,字符串、对象、函数。有时,我们需要一种机制,验证别人使用的组件时,提供的参数是否符合要求。
三、虚拟的DOM
react 中最神奇的部分莫过于虚拟的DOM,以及其高效的Diff算法。当部分节点发生变化的时候,会想在虚拟的DOM上做出改变,然后在总体的反应到真是的DOM节点中。
四、react 中的purRender
import pureRender from 'pure-render-decorator'; 优化刷新,数据没有变化就不刷新。一般会与import { is, fromJS} from 'immutable'; 同时使用。
在'immutable' 中涉及到js的浅拷贝与深拷贝的问题。
1、浅拷贝:子对象获取的只是父对象的一个地址,不是真正意义上的拷贝,当子对象发生篡改时,父对象也会被改变。
2、深拷贝:是将父对象内部的属性真正意义上的全部拷贝出来,而不是单单的拷贝父对象的一个地址。
参考网址:http://www.jb51.net/article/91906.htm
个人觉得immutable 有点类似js 中的深拷贝。
使用Immutable.fromJS` 来创建对象。
五、redux 中的connect