首先,认识一下react。
React是2013年5月份正式开源,2015年开始在国内各大论坛火起来的。我也是从工作后就一直久仰大名,至于学得为什么这么晚,这里有很多原因,最主要的还是和之前公司的技术栈不符…
react的设计理念有两点我觉得是它成功的原因:
1. 组件化
2. virtual dom
这里不作赘述,之后我会单独写一篇来总结。
其实react本身是主要用于UI构建,也就是页面渲染,基于ES6,所以如果希望单独单独引用,考虑到兼容性,需要再引用babel等进行转ES5。但是,这样也只能完成简单的页面,比如你想要实现单页面,需要路由,除非自己写,否则react本身是没有这样的功能。因此,合理的框架搭配选择很重要。
这里我会自己写一些实际的开源demo,来总结。
React全家桶
react + redux
+ react-router
+ less/sass
+ ES6
+ webpack
这套组合应该算是标配吧。但是这里还有个弊端,就是这里没有现成的组件,所有的组件基于自身开发。还有说明下react并不是强依赖于ES6,即使没有在ES6下,react也能正常工作。
1.react:管理UI构建、渲染,不解释
2.redux:管理整个项目中所有组件的state,并且实现组件之间的数据通信。(不知道这样的总结对不对,具体的可以参考这里1),实现原理图如下:
3.react-router:用于构建路由,主要有Router,IndexRoute,Route,Link,IndexLink这几个Component,和hashHistory,browserHistory这两个URL history。当然这里component和内部方法没有列全,还有如Redirect、createMemoryHistory等,详情参考github上react-r