程序员好程序员Web前端教程之React原理解析及优化技巧
好程序员Web前端教程之React原理解析及优化技巧 , React既是当前企业选拔人才的主要技能之一 , 也是每一个Web前端人才需要掌握的知识 。 有不少同学想要快速掌握React , 接下来的好程序员Web前端学习进阶课就给大家简单介绍React原理以及相关性能优化技巧 。
本文插图
点击添加图片描述(最多60个字)编辑
ReactJS起源于Facebook内部项目 , 是一个用来构建用户界面的JavaScript库 , 相当于MVC架构中的V层框架 。 与市面上其他框架不同的是 , React把每一个组件当成了一个状态机 , 组件内部通过state来维护组件状态的变化 , 当组件的状态发生变化时 , React通过虚拟DOM技术来增量并且高效的更新真实DOM 。
React核心技术——虚拟DOM(Virtual DOM):对于每一个组件 , React会在内存中构建一个相对应的DOM树 , 基于React开发时所有的DOM构造都是通过虚拟DOM进行 , 每当组件的状态发生变化时 , React都会重新构建整个DOM数据 , 然后将当前的整个DOM树和上一次的DOM树进行对比 , 得出DOM结构变化的部分(Patchs) , 然后将这些Patchs再更新到真实DOM中 。 整个过程都是在内存中进行 , 因此是非常高效的 。
【程序员好程序员Web前端教程之React原理解析及优化技巧】React把每个组件都当作一个状态机来维护和管理 , 因此每个组件都拥有一套完整的生命周期 , 大致可以分为三个过程:初始化、更新和销毁 。 生命周期的每一个过程都明确的反映了组件的状态变化 , 对于开发来说就能很容易的把握组件的每个状态 , 不同的状态时期做对应的事情 , 互不干扰 。
React性能优化技巧
由于React中性能主要耗费在于update阶段的diff算法 , 因此性能优化也主要针对diff算法 。
1、减少diff算法触发次数 。 减少diff算法触发次数实际上就是减少update流程的次数 , 正常进入update流程有三种方式:setState、父组件render、forceUpdate 。
2、shouldComponentUpdate 。 使用shouldComponentUpdate钩子 , 根据具体的业务状态 , 减少不必要的props变化导致的渲染 。 如一个不用于渲染的props导致的update 。 另外 , 也要尽量避免在shouldComponentUpdate 中做一些比较复杂的操作 ,比如超大数据的pick操作等 。
如果你想了解更多React知识点 , 可以关注我 , 定期发布技术热点和求职指南 。 你也可以来好程序员Web前端培训班进行系统的学习进阶 , 跟随大牛讲师快速、高效的学习提升 。
- JEECG前端Chrome调试小技巧汇总
- cnBeta微软Outlook Web推出文本预测功能
- 小谢娱乐哦引来广大网友狂点赞,直呼炸天,程序员用Java实现扫雷小游戏
- 中美科技辣评-Weekly:商业航天投资是否正当时?OneWeb资产拍卖,背后比你我想象的更精彩;NASA探月合作也能扯上太空行为规范?
- Python爱好者社区漫画 | 程序员逆天改命
- 35岁程序员被电信云、华为和阿里同时录取,看到薪资比较后,酸了
- Godlove文章泰捷WEBOX GT电视盒子体验:电视盒子中的黑马
- Techweb外媒:苹果获沉浸式虚拟显示技术专利 将用于自动驾驶汽车
- Techweb联发科谈“骁龙875提前发布”传闻:不会缺席 会在适当时间推出产品
- Techweb特斯拉市值重回 1500 亿美元 弗里蒙特工厂复工后有望创新高