广告
返回顶部
首页 > 资讯 > 前端开发 > 其他 >react框架什么时候出来的
  • 776
分享到

react框架什么时候出来的

React 2023-05-14 21:05:52 776人浏览 泡泡鱼
摘要

本教程操作环境:windows7系统、React18版、Dell G3电脑。一、React的起源和发展React是用于构建用户界面的javascript库, 起源于Facebook的内部项目,因为该公司对市场上所有 JavaScript m

react框架什么时候出来的

教程操作环境:windows7系统、React18版、Dell G3电脑。

一、React的起源和发展

React是用于构建用户界面的javascript库, 起源于Facebook的内部项目,因为该公司对市场上所有 JavaScript mvc框架,都不满意,就决定自己写一套,用来架设Instagram的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。

二、React的出发点

基于html前端界面开发正变得越来越复杂,其本质问题基本都可以归结于如何将来自于服务器端或者用户输入的动态数据高效的反映到复杂的用户界面上。而来自Fackbook的React框架正是完全面向此问题的一个解决方案,按官网描述,其出发点为:用于开发数据不断变化的大型应用程序(Building large applications with data that changes over time)。相比传统型的前端开发,React开辟了一个相当于相当另类的途径,实现了前端界面的高性能高效率开发。

React主要用于构建UI。你可以在React里传递多种类型的参数,如声明代码,帮助你渲染出UI、也可以是静态的HTML DOM元素、也可以传递动态变量、甚至是可交互的应用组件。

三、Recat与传统MVC的关系

轻量级的视图层库! A JavaScript library for building user interfaces

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

四、React高性能的体现:虚拟DOM

原理:在我们的开发过程中,我们需要将变化莫测的数据实时的反映到UI上,这时就需要对DOM进行操作。但频繁或复杂的操控DOM会产生许多性能上的问题。————如何进行高性能的复杂DOM操作通常是衡量一个前端开发人员技术的重要指标。

React为此引入了虚拟DOM(virtual DOM)的机制:在浏览器端用javascript实现了一套DOM api。基于React进行开发时所有的DOM构造都是通过虚拟DOM进行,每当数据变化时,React都会重新渲染整个DOM树,然后React将当前整个DOM树和上一次的DOM树进行对比,得到DOM结构的的区别,然后仅仅需要变化的部分进行实际的浏览器DOM更新。而且React能够批量处理虚拟DOM的刷新,在一个事件循环(Event loop)内的两次数据变化被合并,例如你连续的先将节点内容从A-B,B-A,React会认为A变成B,然后又从B变成A UI不发生任何变化,而如果通过手动控制,这种逻辑通常是极其复杂的

React Fiber:

在React16之后发布的一种react核心算法,React Fiber是对核心算法的一次重新实现(官网说法)。之前用的是diff算法

在之前的React中,更新过程是同步的,这可能会导致性能问题。

当React决定要加载或者更新组件树时,会做很多事,比如调用各个组件的生命周期函数,计算和比对Virtual DOM,最后更新DOM树,这整个过程是同步进行的,也就是说只要一个加载或者更新过程开始,中途不会中断。因为javascript单线程的特点,如果组件树很大的时候,每个同步任务耗时太长,就会出现卡顿。

React Fiber的方法其实很简单——分片。把一个耗时长的任务分成很多小片,每一个小片的运作时间很短,虽然总时间依然很长,但是在每个小片执行完之后,都给其他任务一个执行的机会,这样唯一的线程就不会被独占,其他任务依然有运行的机会。

五、React的特点和优势

1、虚拟DOM

我们之前操作DOM的方式是通过document.getElementById()的方式,这样的过程实际上是先去读取html的dom结构,将结构转换成变量,而进行操作

而reactjs定义了一套变量形式的dom模型,一切操作和换算直接在变量中,这样减少了操作真实dom,性能真实相当的高,和主流MVC框架有什么本质区别,并不和dom打交道

2、组件系统

react最核心的思想是将页面中任何一个区域或者元素都可以看做一个组件component

那什么是组件呢?

组件指的就是同时包含了html、CSS、js、image元素的聚合体

3、单向数据流

其实reactjs的核心内容就是数据绑定,所谓数据绑定指的是只要将一些服务端的数据和前端页面绑定好,开发者只关注实现业务就行了

4、JSX语法

Vue中,我们使用render函数来构建组件的dom构造性能较高,因为省去了查找和编译模板的过程,但是在render中利用createElement创建结构的时候代码可读性较低,较为负载,此时可以利用JSX语法来在render中创建dom,解决了这个问题,但是前提是需要使用工具编译jsx

【相关推荐:Redis视频教程、编程视频】

以上就是react框架什么时候出来的的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: react框架什么时候出来的

本文链接: https://www.lsjlt.com/news/205774.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react框架什么时候出来的
    本教程操作环境:Windows7系统、react18版、Dell G3电脑。一、React的起源和发展React是用于构建用户界面的JavaScript库, 起源于Facebook的内部项目,因为该公司对市场上所有 JavaScript M...
    99+
    2023-05-14
    React
  • css2.1是什么时候提出来的
    本教程操作环境:Windows10系统、CSS3版、DELL G3电脑css2.1是什么时候提出来的?2004 年 2 月。发展至今,CSS 总共经历了 4 个版本的迭代:1) CSS1.01996 年 12 月 W3C 发布了 CSS 的...
    99+
    2023-05-14
    css
  • react的setstate什么时候同步
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react的setstate什么时候同步?什么时候是异步的? 先给出答案: 有时表现出异步,有时表现出同步。setState只在合成事件和钩子函数中是“异...
    99+
    2023-05-14
    setstate React
  • java什么时候出的
    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。 (推荐学习:java课程)Java语言作为静态...
    99+
    2020-09-18
    java入门 java
  • javascript是什么时候出的
    这篇文章给大家分享的是有关javascript是什么时候出的的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 javascript是1995年出的;Ja...
    99+
    2022-10-19
  • react指的是什么框架
    本文将为大家详细介绍“react指的是什么框架”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“react指的是什么框架”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧。r...
    99+
    2023-06-06
  • React中的render什么时候执行过程
    这篇文章主要介绍了React中的render什么时候执行过程,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我们都知道Render在组件实例化...
    99+
    2022-10-19
  • html5概念提出的时间是什么时候
    这篇文章主要介绍了html5概念提出的时间是什么时候的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇html5概念提出的时间是什么时候文章都会有所收...
    99+
    2022-10-19
  • go语言是什么时候出现的
    go语言是谷歌2009发布的开源编程语言。Go语言最初由Google公司的Robert Griesemer、Ken Thompson和Rob Pike三个大牛于2007年开始设计发明,并于2009年正式对外发布;三名初始人最终的目标是设计一...
    99+
    2023-05-14
    go语言 Golang
  • react不是mvvm框架的原因是什么
    这篇“react不是mvvm框架的原因是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2022-10-19
  • react框架的特点和优势是什么
    这篇文章主要介绍了react框架的特点和优势是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react框架的特点和优势是什么文章都会有所收获,下面我们一起来看看吧。react框架是2013年出来的;Reac...
    99+
    2023-07-04
  • 华为云服务器续费优惠政策是什么时候出来的
    华为云服务器续费优惠政策可能在华为云官方网站上公布,也可能是通过其他渠道进行公布。需要注意的是,以下信息可能会与当前市场上正在进行的华为云服务器续费优惠政策不完全相同,具体优惠政策的发布时间可能会稍有延后或提前。 根据华为云官方声明,华为...
    99+
    2023-10-26
    华为 优惠政策 续费
  • 数据库的等待事件什么时候会出现
    这篇文章主要介绍“数据库的等待事件什么时候会出现”,在日常操作中,相信很多人在数据库的等待事件什么时候会出现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”数据库的等待事件什么...
    99+
    2022-10-19
  • flask框架是用来干什么的
    flask框架可以用来:1、路由系统;2、模板引擎;3、URL构建;4、错误处理;5、插件和扩展;6、轻量级;7、可扩展性。详细介绍:1、路由系统,Flask提供了一个路由系统,可以将不同的URL路径映射到相应的处理函数上,当用户访问特定的...
    99+
    2023-11-20
    Flask框架
  • win7系统电脑开机的时候怎么把加载信息列出来
      如果大家开电脑的时候,都要等待开机画面的跳动。不管画面如何好看,当你天天看一次早晚也会厌的。很多人都是用加速开机方法来让自己电脑开机更快。而如果你把开机的画面,改成列出加载项,那么你就能够更了解你的电脑,还能知道  ...
    99+
    2023-06-01
    win7开机 加载信息 信息 系统 win7 电脑
  • 华为云服务器租赁优惠政策是什么时候提出的
    华为云服务器租赁优惠政策是在2019年11月提出的。该政策旨在为客户提供更具竞争力的价格和更灵活的租赁选项,以满足不同客户的需求。根据该政策,客户可以享受多种优惠,包括新客户注册优惠、预付费优惠、按需计费优惠等。此外,华为云还提供了多种租赁...
    99+
    2023-10-26
    华为 优惠政策 服务器
  • 重定向Shell框架输出的Java代码是什么?
    在Shell编程中,我们经常需要将输出结果重定向到文件或者管道中。Java语言同样支持这种重定向操作,并且提供了相应的API来实现。本文将介绍如何在Java中使用重定向API来捕获Shell框架的输出结果。 首先,让我们来看一下Shell...
    99+
    2023-06-14
    重定向 shell 框架
  • 重定向Shell框架输出的Java代码示例是什么?
    在Java开发中,我们经常需要使用Shell框架来执行一些命令行操作。然而,当我们在Shell框架中执行命令时,我们经常需要将输出重定向到Java程序中,以便对输出进行处理。在本文中,我们将介绍如何使用Java代码来重定向Shell框架输...
    99+
    2023-06-14
    重定向 shell 框架
  • springboot整合quartz定时任务框架的方法是什么
    今天小编给大家分享一下springboot整合quartz定时任务框架的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-06-26
  • ASP 实时框架开发技术,有什么值得注意的地方?
    ASP 实时框架是一种基于 ASP.NET 的框架,它提供了实时通信的能力,使得开发者可以在网页中实现即时更新数据的效果。在开发过程中,ASP 实时框架的使用可以使得网页的交互性更加强大,用户体验更加友好。本文将介绍 ASP 实时框架的开...
    99+
    2023-07-23
    实时 框架 开发技术
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作