响应式系统与 React | 青训营笔记

72 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第5天,今天学习了React框架,React是用于构建用户界面的js库,react有声明式编程和函数式编程,声明式来描述目标的性质,让计算机明白目标,函数式编程意味着函数是数据,具有不可变性、纯函数、数据转换、高阶函数、递归和组合,是一种设计思想,声明函数再调用函数的返回值,封装函数,提高复用性。react的语法是jsx,和js差距不大,可以使用jsx来创建虚拟DOM,更直观的展示DOM结构。提供模块化和组件化的开发,把业务逻辑拆成模块,复用js,简化js的编写,不然随着逻辑越来越复杂,代码越来越多。目前的组件化开发越来越多,一个复杂页面的功能更加复杂,用封装过的组件来使用尤为方便。
react的语法更偏向于原生js,处理事件类型和DOM元素的方法类似,大部分的前端都会使用react,react提供虚拟DOM处理DOM结构,一次性将所有的DOM展示到页面上会消耗很多的资源,增加首屏渲染时间,首先生成虚拟DOM,改动组件之后会生成一个新的虚拟DOM,将新旧虚拟DOM进行对比,diff算法只对比同级的DOM,如果有不同的敌方,则在真实ODM上更新这个虚拟DOM,可以更快渲染页面,元素具有key,用于唯一标识某一个元素,diff算法通过对比key来判断该元素,具有唯一性。 react具有单向数据流,可以使数据更加安全,不易修改,在构建大型项目中react更为强大,并且可以做移动端应用程序开发,具有出色的社区支持,解决问题更方便,raect native通过声明式组件搭建用户界面,在移动端应用更为出色,并且兼容性强大。学习的道路是永无止境的,要多学习知识,并且自己做出项目,这样才能更好的提升自己,找到合适并且满意的工作。