ITPub博客

首页 > IT职业 > IT生活 > 重谈react优势——react技术栈回顾

重谈react优势——react技术栈回顾

IT生活 作者:gjfer 时间:2021-09-09 09:41:20 0 删除 编辑

react刚刚推出的时候,讲react优势搜索结果是几十页。

现在,react已经慢慢退火,该用用react技术栈的已经使用上,填过多少坑,加过多少班,血泪控诉也不下千文。

今天,再谈一遍react优势,WTF?

React的收益有哪些?React的优势是什么?react和vue、angularJS等其它框架对比优势?

 

而作为总结回顾。react在工程实践中,带来哪些思想上的质变?

 

virtual dom虚拟DOM概念

它并不直接对DOM进行操作,引入了一个叫做virtual dom的概念,安插在javascript逻辑和实际的DOM之间,好处是减少DOM操作,减少DOM操作的目的是提高浏览器的渲染性能。

虚拟dom就中小型项目而言,的确从表象上看不出太多的优势,因为它解决的是底层的dom渲染,IO开销问题。但是想想facebook的体量,不难猜出react的诞生是为了解决更复杂更大型的项目开发和管理的。

实际上React和Vue其实也在操作DOM,只是比较高效地在操作DOM而已,虚拟DOM其实最终也会映射到真实DOM,虽然虚拟DOM只会将变化的部分更新到真实DOM,但实际上直接操作DOM也可以通过某些方式去优化,那么:

    1、操作data,不直接操作DOM有什么好处?

         更少的代码做更多的事。

    2、操作data会给DOM操作带来什么不好的地方吗?

          不会,但是不是所有功能“使用操作data”都可以代替的。

    3、会不会比直接操作DOM存在什么难度?

         不会有难度,但是思维需要有一些转变。

 

JSX虽然做了抽象视图,但她是声明式API,能够保证你看一眼就知道组件树的结构,譬如:

1

这结构还算清楚吧,基本一眼就知道这个一个面板由输入框、列表、摘要组成,而且布局也清楚了,自上而下。而且,通过查看一个源文件就可以知道你的组件将会如何渲染。这是最大的好处,尽管这和 Angular 模板没什么不同。具体参看:ReactJS For Stupid People

 

之前写UI的时候往往为了性能,要设计很多DOM的操作逻辑,用了react之后,这些都不给你做了,由他的state跟props来传递给VDOM,很省事,更专注于UI层面。

 

学会了react以及这个JSX语法,你不光可以通过react写web;也可以通过react-native写ios或者android的应用;甚至可以通过react-blessed写terminal可视化应用;当然也可以通过react-native-desktop写桌面应用。因为JSX这种声明式语法实际是在构建一个抽象的视图层,这种抽象可以通过不同适配器适配到各种显示终端,这总够屌吧?

 

unidirectional data flow-单向数据流

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3789/viewspace-2811413/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-09-26

  • 博文量
    0
  • 访问量
    833