这段时间接触了Vue和React两个前端框架,前几年稍微接触过ReactNative,所以对React.js比较关注。React极大简化了前端界面开发流程,开发者可以将各个功能分成单独的组件,然后自由组合搭建出完整的前端程序界面。并且打包后React只会有一个页面,页面上的元素都是React在运行时动态的创建与修改属性,因此用户体验很好(不会出现页面的跳转,拥有桌面程序的体验,话说这个很像很久以前的flex的程序的体验)。
刚开始用React时,发现就是组件套组件,最外层组件会挂在一个根<div>元素上。很明显React内部就是对组件构成的树结构进行操作。没看源码之前自己想象了一下React是如何渲染组件树的,感觉就是一个循环不断的从根组件开始访问组件树,访问每个组件时,会跟新组件的属性、状态、然后用跟新后的属性和状态在html中DOM树中创建对应的元素。大概画了一个自己想的React实现思路(总感觉和三维场景中的场景树管理和渲染很像,所以仍忍不住和ogre的渲染流程联系起来)。
对React有了粗略的理解后,很多细节还是不清楚是如何实现的,所以后续准备用一段时间看看React的源码,希望从中学到一些新技术和更深入的了解。由于我JS语法基础比较差因此还是要查很多资料来读源码,查资料时发现一个很好的博客,对react源码进行了很清晰的分析,在这里分享一下
首页 · React源码解析react.jokcy.me