react-naive工作原理是从react的工作原理衍生进去的

react的工作原理

在react中,virtual dom 就像一个中间层,介于开发者形容的视图与理论在页面上渲染的视图之间。为了在浏览器上渲染出可交互的用户界面,开发者必须操作浏览器的Dom,这个操作代价低廉,适度操作dom会给性能带来影响。React 保护了一个内存版本的 DOM,通过计算得出必要的最小操作并从新渲染。如下图:

执行 vdom 的计算(dom diff),缩小浏览器DOM的反复渲染
对于 Web 环境的react而言,大多数开发者认为 virtual dom 的呈现次要是为了优化性能。vdom的确能晋升性能,但它的次要后劲在于提供了弱小的形象能力。在开发者的代码与理论的渲染之间退出一个形象层,这带来了很多可能性。略微设想一下,如果react可能渲染到浏览器以外的其余平台呢?毕竟,react曾经“了解”了你的利用应该如何展示。

React Native 的工作原理

如下图,这就是 React Native 的工作原理。 react native 调用Objective-C的API去渲染iOS组件,调用Java接口去渲染Android组件,而不是渲染到浏览器的DOM上,这使得react native 不同于那些基于web视图的跨平台利用开发计划(各种小程序 uniapp\taro , 适配器转化)。

react能够渲染到多个平台

Bridge"桥接"使这所有成为可能,它使得react能够调用宿主平台凋谢的UI组件。react组件通过render办法返回了形容界面的标记代码。

  1. web平台: react最终将标记代码解析成浏览器的dom
  2. react native中:标记代码会被解析成特定平台的组件

    1. <View>组件将会体现为iOS平台的UIView

react native 目前同时反对iOS和Android两种平台。因为virtual DOM提供了形象层,react native也能够反对其余平台,只须要提供“桥接”即可。

react 和 react native 的不同点

框架作用的平台不同

RN是由React衍生进去的,两种框架都是用JSX开发语法,然而RN是用来开发真正原生渲染的iOS和Andriod挪动利用的JS框架,而React是将浏览器作为渲染平台。

工作原理不同

下面总结的工作原理

渲染周期

react 组件挂载过程 -> 从新渲染过程。

  1. React的渲染周期开始于react组件挂载到DOM之后,接着React进入渲染周期并依据须要渲染组件。在渲染阶段,React将开发者在return中返回的HTML标记间接按需渲染到页面上
  2. React Native生命周期与React基本相同,在渲染上因为React Native依赖于桥接,并不在UI主线程运行,它能够在不影响用户体验的前提下执行这些异步调用。

创立组件

当编写Web环境的React的时候,视图最终须要渲染成一般的HTML元素;

而在React Native中,所有元素都会被平台指定的React组件替换,例如在iOS中,<View>组件被渲染成UIView,而在Android平台,会被渲染成View

原生的款式

在Web中,应用CSS款式为React组件增加款式曾经是开发过程中不可获取的一部分了。React通常不影响咱们编写CSS的形式,并且它的确让款式的动态创建更加容易(通过state和props),除此之外,React基本上不关怀咱们如何解决款式的。
非Web平台上有大量的办法来解决布局和款式.

咱们应用React Native时,只须要用一种规范的办法来解决款式,React和宿主平台之间的桥接蕴含了一个缩减版CSS子集的实现,这个CSS子集次要通过flexbox进行布局,做到了尽量简化,而不是去实现所有的CSS规定。有别于Web平台,CSS的反对水平因浏览器而不同,React Native则做到了款式规定的统一。

宿主平台接口

数据存储、天文服务、操控硬件设施


我是 甜点cc

公众号:【看见另一种可能】