JSX

简单来讲, React 为方便 View 层组件化,承载了构建 HTML 结构化页面的职责。

JSX代码既可以写在.jsx后缀的文件或传统的js文件中,现在随着微软TypeScript的普及,成为了第三个支持JSX语法的源文件格式.ts(客观的说TypeScript是JavaScript的父集,兼容JS的所有API和语法,并且在这个基础之上使用了类似lamda表达式的语法增强了React中纯函数的声明方式)。

而JSX将原来html,和js代码分开编写解耦的思想又重新整合到一个文件中编写,同时解决了html和js的脚本隔离等特殊符号,双引号,单引号处理的问题。让你感觉不到是在写html还是在写js的业务逻辑,如果行云流水一般就把前端界面开发完了。这是React设计理念比较有创意的地方,逆袭了原来传统html,js,css解耦合的思想。即React更看中的是一个功能或组件的模块化,模块化的重要程度大于脚本的解耦性。作为一个开发,你只用去关心怎么把你的组件封装的更灵活,重用性更高,而剩下的问题就交由JSX编译器来实现,以下是JSX编译器的从编译到执行的过程:

Virtual DOM

真实页面对应一个 DOM 树。在传统页面的开发模式中,每次需要更新页面时,都要手动操作 DOM 来进行更新。 DOM 操作非常昂贵。我们都知道在前端开发中,性能消耗最大的就是 DOM 操作,而且这部分代码会让整体项目的代码变得难以维护。 React 把真实 DOM 树转换成 JavaScript 对象树,也 就是 Virtual DOM。

原生DOM同浏览器js执行引擎的交互过程:

加入React Virual DOM的执行过程:

从JSX到Virtual DOM

将JSX语法编译解析到最终在浏览器js引擎执行落地的整合流程图:

jsx后缀的是什么文件_React-从JSX到虚拟DOM相关推荐

  1. jsx后缀的是什么文件_React核心特性-从JSX到虚拟DOM

    JSX 简单来讲, React 为方便 View 层组件化,承载了构建 HTML 结构化页面的职责. JSX代码既可以写在.jsx后缀的文件或传统的js文件中,现在随着微软TypeScript的普及, ...

  2. webpack 入口文件 php,webpack,jsx_webpack jsx 找不到入口文件,webpack,jsx - phpStudy

    webpack jsx 找不到入口文件 文件目录: ├── README.md ├── components │   ├── plists.jsx │   └── search.jsx ├── ind ...

  3. React框架简介(JSX语法、组件、虚拟DOM渲染)

    目录 React框架 为什么要学习React React特点 React核心 JSX语法 语法详解 React开发过程 实际DOM 虚拟DOM React组件 函数组件 类组件 虚拟DOM渲染过程 R ...

  4. 后缀为PDF的文件要用什么工具才能打开?

    今天在迅雷里下了些资料,解压后,文件的后缀为PDF我的系统只装了office 2003,不支持这个PDF,后来我又装了中文版的WPS Office 2005企业版,结果还是打不开. 以前也见过后缀为P ...

  5. C#中获取指定路径下指定后缀名的所有文件的路径的list

    场景 指定一个路径和后缀名,查找这个路径下所有以此后缀名结尾的文件. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获 ...

  6. react 引入html文件_React起手式

    一.引入React 1.从CDN引入(比较麻烦) 先引入 React: https:// .../react.x.min.js 再引入 ReactDOM: https://.../react-dom. ...

  7. linux之用xargs删除这个目录下面后缀为txt的文件(包括子目录)

    1问题 删除这个目录下面后缀为txt的文件(包括子目录) 2.xargs命令解决 find . -name "*.txt" | xargs rm -rf 3.xargs相关用途 比 ...

  8. hbuilderx设置新建jsx后缀名_TypeScript编写前基本配置操作

    Node 基本命令 npm安装依赖 [npm install xxx]利用 npm 安装xxx依赖到当前命令行所在目录 [npm install xxx -g]利用npm安装全局依赖xxx [npm ...

  9. Linux 删除指定目录下指定后缀名的所有文件

    删除指定目录下指定相同后缀名的所有文件,使用 rm 命令是无法直接删除的.所以通常是使用 find 命令找到指定目录下具有相同后缀名的所有文件,然后再利用 rm 进行删除.例如,删除 /root/ 目 ...

最新文章

  1. python表格控件_python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例...
  2. c语言编程学生管理,c语言编程,关于学生管理的程序(急急急)
  3. MSMQ消息队列演示程序
  4. matlab添加多个legend
  5. centos 源码安装mysql5.6_CentOS 7下源码安装MySQL 5.6
  6. 设计模式学习笔记——命令模式
  7. 分配菜品类别: 展开 收起_运营技巧:让产品数据决定菜品的去与留
  8. docker network 网络模式
  9. OpenStack版本比较之Keystone
  10. C#:$符号和@符号的用法介绍
  11. 英特尔固态硬盘测试软件,SSD固态硬盘检测测试软件(Intel SSD Toolbox)
  12. A星寻路算法详解(完整代码+图片演示)
  13. mysql主从怎么确保数据一致_如何保证主从复制数据一致性
  14. 【Docker 那些事儿】如何安全地停止、删除容器
  15. imageview控件加载图片
  16. 《计算机操作系统》(第四版)汤子瀛等编著——思维导图详细版本
  17. Ubuntu调用USB摄像头
  18. 图论中的聚类系数(Clustering coefficient)简单介绍
  19. 2022下半年CV计算机视觉领域可投稿国际会议列表(含录用率)
  20. 「重磅」Python自创软件名字生成器:1.0-1.7

热门文章

  1. poj 2492A Bug's Life(并查集)
  2. 简单几何(线段相交+最短路) POJ 1556 The Doors
  3. 解决Tomcat v8.0 Server at localhost failed to start.
  4. jsp实现邮件的发送
  5. linux下mv命令移动目录的二种情况
  6. 利用ServletFileUpload组件上传文件
  7. 垂直网站架构改造 - 怎样成为一个山寨CTO
  8. Spark的RDD序列化
  9. IDEA 快捷键 (长期更新)
  10. HTML(WEB)开发day01