1 组件的创建
React受大家欢迎的一个重要原因就是可以自定义组件。这样的一方面可以复用开发好的组件,实现一处开发,处处调用,另外也能使用别人开发好的组件,提高封装性。另一方面使得代码结构很清晰,组件间耦合减少,方便维护。ES5创建组件时,调用React.createClass()即可. ES6中使用class myComponent extends React.Component, 其实内部还是调用createClass创建组件。
组件创建我们可以简单类比为Java中ClassLoader加载class。下面来分析下createClass的源码,我们省去了开发阶段错误提示的相关代码,如propType的检查。(if (“development” !== ‘production’) {}代码段都不进行分析了,这些只在开发调试阶段调用)
createClass: function (spec) {
var Constructor = <