React是什么?React Native是什么?

内容纲要

React是用于构建用户界面的JavaScript框架。

框架:可以被复用的代码。用的人多了,就出名了,越有人越有价值。(笑)

与React齐名的Angular。

React是用于渲染UI的JS库,定位在与实现UI

React Web App解决方案,衍生的React Native是跨屏App解决方案

特点:

  1. 声明式设计:声明范式

  2. 高效:使用VDOM,减少DOM的交互

  3. 灵活:与已知的库或框架完好配合

  4. JSX:一种独立的语言,试图解决很多JS的缺陷,ES6包含了几乎所有JSX的特性

  5. 组件:代码复用

  6. 单向响应数据流:比双向绑定更简单,更快。

为什么使用React?

传统方法频繁操作DOM,性能无法达到要求;React使用VDOM,性能高

传统JS代码维护成本高,React基于组件开发

需要支持移动端开发

React的缺点:

对于一直使用JS,jQuery的传统前端,React非常不友好

React强调组件和状态管理,其世界观是面向程序语言的

Vue.js强调视图的自动同步,其世界观是面向UI脚本的

React的学习成本较Vue.js高。

React没有全家桶,只做UI

SPA(single page application)对DOM是部分更新,不是摧毁更新,对用户友好。

因为SPA,我们需要更新交互模式

MVC模式:

Module:用于存放数据

View:用于更新DOM

Controller:调用Module给View渲染使用

MVP模式

Module:用于存放数据

View:响应用户交互行为

Presenter:

  1. Modle改变,修改DOM

  2. View响应式交互时,通知Presenter,Presenter负责更新Module,以及修改DOM

MVVM模式:

Module:用于存放数据

View:响应式用户交互行为

ViewModel:自动化调用的Presenter

转自:https://zhuanlan.zhihu.com/p/80553712