写篇文章攻克React——(1)了解入门React

185 阅读2分钟

和vue一样,react也是基于ui的框架(不是样式ui)。

React

React的语法没有Vue那么“死板”,更加函数式,更加“底层”。所以React很多地方比Vue灵活,但是学习也更加困难。

目前来说React开发比Vue开发更加难招,工资更高。

起源

React是2013年5月从Facebook公司中开源出来的,起初是公司内部项目对当时可用的框架都不满意,于是自主研发了React(2011年)。

Vue一开始与React有许多相似之处,React目前来说主要的优势还是灵活性和高效性。

安装React环境

准备好node+npm环境。

$ cnpm install -g create-react-app //脚手架 

$ create-react-app my-app /*创建项目,应用名称不要有大写字母*/ 
$ cd my-app/ /*进入项目目录*/ 
$ npm run start /*启动项目*/

初始化项目的地址: http://localhost:3000/

image.png

三大框架比较

React不是一个完整的MVC框架,最多可以认为是MVC中的V(View),甚至React并不非常认可MVC开发模式;React 构建页面 UI 的库。可以简单地理解为,React 将将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合、嵌套,就成了我们的页面。[React-01] React的起源和发展

Angular

谷歌公司2009年开发。

  • 指令开发,指令记忆量巨大。
  • 没有组件化开发,后期加入组件化特点
  • 限制ajax交互

Vue

尤大(前谷歌,后阿里)

  • 2.0加入react的diff算法。
  • 适用MVVM架构(非完全)
  • 学习angular设计了指令
  • 组件化开发

React

Facebook开发并开源。

  • 专注于View层
  • 没有指令
  • 组件化开发
  • 后期加入hook钩子(模仿Vue生命钩子)
  • jsx语法

Flutter(最新)

谷歌公司开发,最先进框架。

  • app性能提升80%,虽然原生永远最快。

总结React四大特点

  1. 视图层框架
  2. 组件化开发
  3. JSX语法
  4. 虚拟DOM(diff算法)

关于react中的声明式

我们说声明式,就要提及命令式,这两种编程的类型。声明式的特点——‘只关注结果’,不会关心和编写实现过程;命令式的特点相反——‘着重于实现过程’,编写从开始到结果中的每一步过程。

声明式体现在函数的调用,体现在html和css这种语言,不关心如何实现,而react作为ui层为核心的框架,并不关心如何在mvc中完成model到view的实现,而是聚焦于ui组件,通过jsx和内置函数完成项目开发。

sql是声明式的语言,但是编程语言并不是只有某个类型,js中既可以体现声明式,也可以体现命令式。

下篇文章我们讲解react初始化后的项目结构和脚手架create-react-app