jsx后缀的是什么文件_React-从JSX到虚拟DOM
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相关推荐
- jsx后缀的是什么文件_React核心特性-从JSX到虚拟DOM
JSX 简单来讲, React 为方便 View 层组件化,承载了构建 HTML 结构化页面的职责. JSX代码既可以写在.jsx后缀的文件或传统的js文件中,现在随着微软TypeScript的普及, ...
- webpack 入口文件 php,webpack,jsx_webpack jsx 找不到入口文件,webpack,jsx - phpStudy
webpack jsx 找不到入口文件 文件目录: ├── README.md ├── components │ ├── plists.jsx │ └── search.jsx ├── ind ...
- React框架简介(JSX语法、组件、虚拟DOM渲染)
目录 React框架 为什么要学习React React特点 React核心 JSX语法 语法详解 React开发过程 实际DOM 虚拟DOM React组件 函数组件 类组件 虚拟DOM渲染过程 R ...
- 后缀为PDF的文件要用什么工具才能打开?
今天在迅雷里下了些资料,解压后,文件的后缀为PDF我的系统只装了office 2003,不支持这个PDF,后来我又装了中文版的WPS Office 2005企业版,结果还是打不开. 以前也见过后缀为P ...
- C#中获取指定路径下指定后缀名的所有文件的路径的list
场景 指定一个路径和后缀名,查找这个路径下所有以此后缀名结尾的文件. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获 ...
- react 引入html文件_React起手式
一.引入React 1.从CDN引入(比较麻烦) 先引入 React: https:// .../react.x.min.js 再引入 ReactDOM: https://.../react-dom. ...
- linux之用xargs删除这个目录下面后缀为txt的文件(包括子目录)
1问题 删除这个目录下面后缀为txt的文件(包括子目录) 2.xargs命令解决 find . -name "*.txt" | xargs rm -rf 3.xargs相关用途 比 ...
- hbuilderx设置新建jsx后缀名_TypeScript编写前基本配置操作
Node 基本命令 npm安装依赖 [npm install xxx]利用 npm 安装xxx依赖到当前命令行所在目录 [npm install xxx -g]利用npm安装全局依赖xxx [npm ...
- Linux 删除指定目录下指定后缀名的所有文件
删除指定目录下指定相同后缀名的所有文件,使用 rm 命令是无法直接删除的.所以通常是使用 find 命令找到指定目录下具有相同后缀名的所有文件,然后再利用 rm 进行删除.例如,删除 /root/ 目 ...
最新文章
- python表格控件_python GUI库图形界面开发之PyQt5表格控件QTableView详细使用方法与实例...
- c语言编程学生管理,c语言编程,关于学生管理的程序(急急急)
- MSMQ消息队列演示程序
- matlab添加多个legend
- centos 源码安装mysql5.6_CentOS 7下源码安装MySQL 5.6
- 设计模式学习笔记——命令模式
- 分配菜品类别: 展开 收起_运营技巧:让产品数据决定菜品的去与留
- docker network 网络模式
- OpenStack版本比较之Keystone
- C#:$符号和@符号的用法介绍
- 英特尔固态硬盘测试软件,SSD固态硬盘检测测试软件(Intel SSD Toolbox)
- A星寻路算法详解(完整代码+图片演示)
- mysql主从怎么确保数据一致_如何保证主从复制数据一致性
- 【Docker 那些事儿】如何安全地停止、删除容器
- imageview控件加载图片
- 《计算机操作系统》(第四版)汤子瀛等编著——思维导图详细版本
- Ubuntu调用USB摄像头
- 图论中的聚类系数(Clustering coefficient)简单介绍
- 2022下半年CV计算机视觉领域可投稿国际会议列表(含录用率)
- 「重磅」Python自创软件名字生成器:1.0-1.7