学习React有一个月了,目前学习状态杂而乱,所以总结一下方便以后查看
一、为什么使用React
React作为前端最受欢迎的应用之一,有着完全不同的应用思想—Just component。它将复杂厚重的页面解构为一个个组件,每一个组件管控自己的状态和数据,处理传递的事件,渲染相应的页面。这样做保证了组件的独立性,但也加大了组件间跳转和参数传递的难度。不要担心,虽然React只是一个渲染页面的JS库,只要使用“React全家桶”,开发一个完整的应用也是可以做到的。:)
网页开发分为多页应用模式和单页应用模式。现在使用较多的SPA(单页应用模式)是指将应用的不同视图加载和卸载到同一页面上。
单页应用的三个主要问题:
1.数据与UI同步
2.DOM操作很慢:要影响用户行为和显示新内容,就不得不操作DOM
3.处理HTML模板很痛苦:HTML模板是指HTML文档片段用来表示要显示的内容。要处理模板在同一页面上显示内容就必须要JS操作,数据来填充。
解决这些问题——React
1.自动化的UI管理:只需关注UI所处的最终状态
2.快速的DOM操作:修改内存中的虚拟DOM,时机合适时通过比较虚拟DOM和真实DOM之间的差别,在一个叫Reconciliation的过程中做出最少量的DOM修改
3.用来创建真正可组合UI的API
4.完全在JavaScript中定义UI
二、React学习路线
刚开始什么都不懂时,我天真的以为只要学习React就可以自行构建一个完整的网站前端,当逐渐深入时才发现需要学习的东西不少。
web应用构成=HTML+CSS+JavaScript
目前的React项目技术栈=React+React-router+Redux+immutable+webpack+CSS-module
针对项目大概的想法是首先设计页面,然后分解页面成组件,考虑每个组件需要传递的参数和需要处理的事件,然后嵌套组件,通过React-router实现页面的跳转,加上css样式和页面布局,最后调试数据的传递和调用展示过程。
三、React初期比较好的资源集合
最好的当然是官网了~
http://www.ruanyifeng.com/blog/2016/09/react-technology-stack.htmlReact技术栈教程
http://www.jianshu.com/p/4df92c335617从零开始使用webpack构建React基础工程
http://www.cnblogs.com/ruoji/p/6464131.html一个从零开始学习React的同僚心路历程记录,也许可以帮我避开一些坑
http://www.cnblogs.com/zhanggui/p/5962037.html一个中文版开发入门,可以先有个大致的了解