React--React技术栈设计初衷什么?

React作为当前最为流行的三大前端技术栈之一,备受大家开发者的关注。我们就来讲讲React技术栈的设计初衷是什么?打开React的官网可以醒目的看到一行大字—用于构建用户界面的JavaScript库。这基本就概括了React的核心:构建用户界面。

声明式

React是声明式的编码方式,这使得React构建用户界面变的异常简单,这可以为应用的每一个状态设计简洁的UI视图,当数据改变时,React可以更有效的更新并且正确的渲染组件。以声明式编写UI,可以让代码更加可靠并方便调试。

组件化

组件化应该算是React的又一大特点,React里使用了更加简化的组建模式,它将整个UI上的每一个功能模块定义成组件。然后将小的组件通过组合或者嵌套的方式再构成更大的组件。React组件具有以下特点:

  • 可组合:可以将简单的组件组合成复杂的组件
  • 可重用:每个组件都是独立的,可以被其他组件调用
  • 可维护:组件是独立的,将逻辑和UI封装,可维护性更高
  • 可测试:组件的独立性决定了组件更容易测试

一次学习,随处遍写

我认为React最强大的地方就在于一次学习,随处编写。就是说,无论你现在用的是什么技术栈,都可以随时引入React来开发新特性,而不需要重构现在的代码。React同时也支持服务端渲染,或者使用React Native开发原生App。React组件可以映射为对应的原声控件。在输出憝时候,到底输出的是web Dom, Ios,android控件是由平台决定的。

虚拟DOM

当前Web应用越来越广泛。性能方面是一个不得不考虑的问题。传统页面每次刷新页面,都需要手动更新dom,这样性能的消耗是非常大的,因此,React使用虚拟DOM这一JavaScript对象树在每次页面更新后都会重新重新计算虚拟DOM,并且和上一次的虚拟DOM做对比,然后将变化的虚拟DOM更新到真实DOM上。这样就可以大大降低直接更新真是DOM带来的性能消耗。当然React也提供了shouldComponentUpdate这样的生命周期函数,和pureComponent来减少不必要的虚拟DOM的对比,以保证性能。

函数式编程

函数式编程并不是起源于React,但是在我看来一定是扬于React,在新版本的React开发中,React提倡开发者使用函数式编程来开发组件。这样可以减少冗余代码,此外由于组件自身就是函数,更利于测试。

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2022 Lee
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信