【React】react基础

react并不是推崇以更少的代码实现需求,react整体的数据都是很严谨的

react是什么

  • react是一个声明式、高效且灵活的用于构建用户界面的JavaScript框架(官方定义)

  • 使用react可以将一些 简短、独立的代码片段组合成复杂的UI界面,这些代码片段被称作"组件"(组件化思想)

为什么使用react

  • 最先提出虚拟DOM,提升了DOM的渲染效率

  • 设计优秀,一切基于JS并且实现了组件化的开发思想 All in JS

  • 开发团队(facebook)强悍,不用担心断更问题

  • 社区强大,很多问题能够找到解决方案

  • 提供了无缝转到 React Native (混合开发)上的开发体验

  • 很多企业中前端选型会选择 react

react和vue的对比

相同之处

  1. 都使用了组件化的思想

  1. 都使用了虚拟DOM

不同之处

  1. 数据是否可变

  1. react整体是函数式的思想,把组件设计成纯组件,状态和逻辑通过参数传入,所以在react中,是单向数据流,推崇结合immutable来实现数据不可变在react中改变数据都是通过函数的方式去修改(虽然数据是不可变的,但是保证了这个项目的数据是稳定的,因为这个数值只能单项传递)(数据严谨--大型项目)

  1. vue的思想是响应式的,也就是基于数据是可变的,通过对每一个数据建立 Watcher 来监听,当属性变化的时候,响应式的更新对应的虚拟 DOM(数据变动比较灵活,在编写代码的时候会比较方便,但是对数据流的把控就会比较乱一些)(灵活---中小型项目)

  1. 使用JS还是使用模板语法

  1. react的思路是 All in JS,通过JS来构建HTML,所以设计了JSX语法,还有通过JS来操作CSS,社区的styled-component、jss等

  1. vue是把HTML、CSS、JS组合在一起,用各自的处理方式,vue有单文件组件、可以把HTML、CSS、JS写在一个文件中

  1. 定义组建的方式

  1. react使用JS中类的方式定义组件

  1. vue使用声明的方式定义组件

  1. 功能-内置?社区?

  1. react自己做的事情很少,大部分功能都是由社区在维护---选择更多

  1. vue很多功能都是自己内置的

其他

  • Double ---微服务框架---阿里

  • Flutter ---多端开发的一个框架,咸鱼就是用flutter写的

  • React Native ---混合开发的一个框架,主要做App开发的---用react语法做混合开发,不适合做大型app

  • 混合开发:

  • 做一个app的话,需要

  • 开发一个安卓版本的

  • 开发一个IOS版本的

  • 借助混合开发的框架

  • 通过一套代码,打包成安卓或者IOS

  • angular 里有 ionic 混合开发

  • vue里可以用uniapp(weex)进行混合开发,不适合做大型app

猜你喜欢

转载自blog.csdn.net/Wr2138/article/details/128570815