React-JSX

2023-11-08

react-JSX

这种在js里面写标签的语法叫JSX。所谓的JSX其实就是JS的对象。JSX就是Javascript和XML结合的一种格式。React发明了JSX,利用HTML语法来创建虚拟DOM。当遇到<,JSX就当HTML解析,遇到{就当JavaScript解析。

JSX原理

总结:要记住几个点:
  1. JSX是JS语言的一种语法扩展,长得像HTML,但并不是HTML.
  2. React.js可以用JSX来描述你的组件长什么样的。
  3. JSX在编译的时候会变成相应的JS对象描述。
  4. react-dom负责把这个用来描述UI信息的JS对象变成DOM元素并渲染到页面上。

注意:只要你要写React.js组件,就必须在react包中引入React 、React.js组件父类Component

1、从JSX到页面到底经历了什么?

2、为什么不直接从 JSX 直接渲染构造 DOM 结构,而是要经过中间这么一层呢?

原因有:
1、当我们拿到一个表示UI的结构和信息的对象后,不一定会把元素渲染到浏览器的普通页面上,有可能吧这个结构渲染到canvas上,或者手机APP上。
2、有这样一个对象,当数据变化,需要更新组件的时候,就可以用比较快的算法操作这个JS对象,而不用直接操作页面上的DOM,这样他可以尽量少的减少浏览器重排,极大地优化性能。

3、组件的render方法

React.js中一切皆组件,用React.js写就是写组件。我们在编写React.js组件的时候,一般都需要继承React.js的Component。一个组件类必须要实现一个render方法,这个render方法必须返回一个JSX元素。但是要注意的是,必须要用一个外层的JSX元素把所用内容包裹起来。返回并列多个JSX元素是不合法的。

由于forclass是JS中的关键字,所以React.js中定义了一种的新的方式:classNamehtmlFor来代替class、for

noscript 元素用来定义在脚本未被执行时的替代内容(文本)。此标签可被用于可识别<script>标签但无法支持其中的脚本的浏览器

提示和注释

注释:如果浏览器支持脚本,那么它不会显示出noscript元素中的文本。
!!!无法识别<script>标签的浏览器会把标签的内容显示到页面上,为了避免浏览器这么做,应当在注释标签中隐藏脚本,老式的(无法识别<script>标签的)浏览器会忽略注释,这样就不会把标签的内容写到页面上,新式的浏览器则懂得执行这些脚本,即使他们被包围在注释标签中!
(通俗的理解就是如果不支持脚本的浏览器太老了,页面不会有任何关于noscript的提示消息,比如IE9以下,只有浏览器比较新,不支持了,就会在页面展示不支持的文本提醒)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React-JSX 的相关文章

  • 点击存储到固定时间清除存储

    这段代码 无意间想到的 随便写了下来 运行 根据点击之后传递一个参数 将他存入本地存储 方便测试为10秒 10秒后触发下一个事件 清除本地存储 结束
  • Vue3 和Vue2的区别,以及钩子函数的使用

    Vue js 3 和 Vue js 2 是两个主要版本的流行前端框架 它们之间有很多区别 包括性能优化 新特性和改进的API等 以下是一些Vue 3与Vue 2之间的主要区别 以及一些示例代码来说明这些差异 1 性能优化 响应式系统 Vue
  • 低代码配置-列表页组件设计

    保存 表单属性存放 bill 筛选项配置存放 filterLayout 列表按钮存放 buttonLayout 列表布局存放 listLayout api存放 api 数据结构 layout 存放表单基础配置 bill 存放按钮基础配置 b
  • Vue 如何使用WebSocket与服务器建立链接 持续保持通信

    WebSocket 浏览器通过JavaScript向服务器发出建立WebSocket链接的请求 链接建立后 客户端和服务器端就可以通过TCP链接直接交互数据 WebSocket链接后可以通过 send 方法来向服务器发送数据 并通过 onn
  • Web自动化测试 —— cookie复用

    一 cookie简介 cookie是一些数据 存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时 在链接关闭后 服务端不会记录用户信息 二 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用
  • 考虑光伏出力利用率的电动汽车充电站能量调度策略研究(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 数据
  • 【js学习之路】遍历数组api之 `filter `和 `map`的区别

    一 前言 数组是我们在项目中经常使用的数据类型 今天我们主要简述作用于遍历数组的api filter 和 map 的区别 二 filter和map的共同点 首先 我们主要阐述一下 filter 和 map 的共同点 api的参数都是回调函数
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结
  • 【前端】canvas图片加文字

    注释标记了操作步骤 import React Component createRef from react class CertifyImgRender extends Component bgRef createRef
  • 在 React JSX 中循环内循环

    我正在尝试在react jsx 循环内的循环中渲染 就像下面这样 this state ans map function item return this state quest map function item1 return item
  • Gatsby:基于 window.innerWidth 行为不当做出反应条件渲染

    组件的条件渲染基于window innerWidth似乎没有按预期工作生产建立基于盖茨比的网站 我用来检查视口宽度的钩子 以及对窗口全局的额外检查以避免 Gatsby node 生产构建错误 如下所示 import useState use
  • Prettier 弄乱了 jsx 片段

    function App return lt gt lt Navbar gt lt Users gt gt 按 ctrl 将更改保存到 function App return lt gt lt Navbar gt lt Users gt l
  • 从 React Native 中解析的对象数组中渲染图像源

    我正在构建一个反应本机应用程序 它假设使用一些 元数据 对象作为源 我正在解析数组中的每个对象并为每个对象返回一个 JSX 布局item 我遇到的唯一问题是如何提供图像来源 因为我将它们存储在本地并且需要require link 他们 我的
  • React - JSX 语法问题,以及如何迭代地图并在换行符上显示项目

    我是一个 React 菜鸟 正在制作 ToDo 列表样式食谱列表应用程序 https fcc recipebox surge sh 我有一个功能组件 Item js 我使用 JSX 和映射函数来迭代每个配方项并显示它们 我希望每个菜谱项目都
  • 在react-native中将本地图像uri作为props传递

    我正在尝试将图像的 uri 作为 prop 传递 以便我可以在 React Native 上多次重复使用它 但是 当前的解决方案提示我 require 应该使用字符串文字 const ImageButton source gt
  • TSConfig JSX:React JSX 与 React

    在将 Typescript 与 React 一起使用时 我们必须指定jsx in compilerOptions in tsconfig json file It has preserve react react native react
  • react-google-maps/api 避免在某些状态更改后重新渲染地图

    我遇到了问题 我的 GoogleMaps 实例会刷新并以某些方式自我居中onClick设置状态的函数 并且将发生整个组件渲染周期 经过一番谷歌搜索后 有人建议将组件实例化分开并重新使用 现在的问题是我有一些逻辑来在内部显示标记
  • 无法读取未定义错误的属性“匹配”

    我试图在 React JS 前端显示一些文本来代替个人资料图像 当它不可用时 基本上 我将当前客户名称传递给一个函数 该函数提取名称中所有单词的第一个字符 我能够仅显示名称 但是当我执行函数调用时 出现 无法读取未定义的属性 匹配 错误 并
  • React Router 总是将我重定向到不同的 url

    我是 React 和 React Router 的新手 我正在使用 React Router v4 并遵循基于以前版本的教程 但我让它工作了 使用在 SO 上找到的一些东西和 React Router v4 文档上的一些东西 但有一件事困扰
  • React - 能够通过 props 控制 SVG 的填充颜色

    我有一个 SVG 这里称为 example svg 它作为组件被调用和创建 如下所示 import ReactComponent as Example from example svg import styles from index mo

随机推荐

  • 借据与电子借据

    借据 借据是个人或单位借用个人或公家的现金 财物时所写的凭证性的一种应用文 借据 条 是人们在日常工作和生活中经常使用的一种应用文 借据从发文的角度看可以分为两类 一类是个人在借他人或单位的钱物时向对方所写的借据或借条 另一类是单位向个人或
  • 【银行转账-功能测试分析】

    转账功能分析 通过选择付款账号 填写转账金额 输入收款账户 含收款账号 收款人姓名 开户行 以及其他附加信息 手机号 备注等 填写好之后 进入安全认证页面选择安全工具 填写安全密码 最后提交转账 测试分析与设计思路 1 正常流程类设计 确保
  • elementui-slider 滑动时会重置为0的问题解决

    文章目录 问题描述 问题排查 问题解决 总结 问题描述 首次打开有 elementui slider的页面 不管滑动哪个滑块 滑动时都会自动归0 划得动 但是会自动回到最左侧0的位置 但是他确实触发了change函数 问题排查 尝试了很多方
  • Sentinel限流算法详解(硬啃)

    文章目录 常见四种限流算法 固定窗口计数器 滑动窗口计数器 漏桶 也有称漏斗 Leaky bucket 令牌桶 Token bucket Sentinel源码举例 滑动窗口 漏桶 令牌桶 常见四种限流算法 固定窗口计数器 固定窗口 相比其他
  • 如何进入安全模式? windows系统使用小技巧

    一 Windows95环境下进入安全模式 1 开启计算机 如果正在运行Windows 请重启计算机 2 在计算机开启时 请留意观察屏幕 当出现Starting Windows 95的时候 按住F5键 这样就能进入安全模式 3 或者 在计算机
  • easyexcel poi 一个模板导出excel包含多个sheet

    easy poi 一个模板导出excel包含多个sheet 1 简述 2 导出代码实例 3 导出模板 4 导出效果 5 项目实战案例 1 简述 通过调用ExcelExportUtil exportExcelClone map params
  • mybatis原理(含图)

    上面中流程就是MyBatis内部核心流程 每一步流程的详细说明如下文所述 1 读取MyBatis的配置文件 mybatis config xml为MyBatis的全局配置文件 用于配置数据库连接信息 2 加载映射文件 映射文件即SQL映射文
  • 字符的点阵显示(模拟户外广告显示屏)

    字符的点阵显示 电子科技大学软件学03级02班 周银辉一 效果二 关于C 读取字符点阵的代码 原理就不再阐述了 到Baidu里面搜一下 很多 不过一般都是C C 的 说明 对于一个字符 GetWordLattics函数返回的bool 表示一
  • Windows 10

    前言 Windows作为工作机 对于计算机系的同学来说 主要是在于利用图形化的界面直观的创建虚拟机 典型的有代表性的是virtualbox和VMware这两家公司的桌面级虚拟化软件 尤其是小白这样的初学者 更高层次的虚拟机技术才是kvm x
  • 信息安全技术 网络安全漏洞分类分级指南

    声明 本文是学习GB T 30279 2020 信息安全技术 网络安全漏洞分类分级指南 而整理的学习笔记 分享出来希望更多人受益 如果存在侵权请及时联系我们 网络安全漏洞分级 概述 网络安全漏洞分级根据漏洞分级的场景不同 分为技术分级和综合
  • 这里是哪里错显示[Error] ‘else‘ without a previous ‘if‘?

    include
  • (c语言 )输入10个学生5门课的成绩,分别用函数求:每个学生平均分;每门课的平均分;

    c语言 输入10个学生5门课的成绩 分别用函数求 每个学生平均分 每门课的平均分 include
  • 新版Spring Boot(9)- Spring Boot 整合 Web 开发(5)

    1 路径映射 不需要每个Controller都加路径映射 Configuration public class WebMvcConfig implements WebMvcConfigurer 页面只是简单的返回 不需要返回数据 param
  • WPF Image 旋转图片方法

    WPF在对图片进行旋转时 可以使用Image RenderTransform 设置它的初始旋转角度Angle 默认是0 在旋转照片图像时 还需要设置图片的旋转中心 CenterX CenterY 一般都设置它的宽度一半 高度一半 先看一下效
  • php按钮添加post请求,PHP发送POST请求的常用方式

    PHP发送POST请求我们使用的是curl来操作了 下面来看看一些常用的post数据的例子 具体的一起和111cn小编来看看吧 在PHP开发的过程中经常需要发送POST请求 POST相比GET要安全很多 而且传输的数据量也较大 下面PHP程
  • uboot启动内核的相关命令详解——boot、bootm

    1 boot和bootm命令的联系 当我们进入uboot的命令终端后 可以利用boot和bootm来启动内核 但是命令的使用方式有区别 直接输入boot命令就可以启动内核 如果使用bootm命令 后面还需要传入内核在DDR中的地址 1 bo
  • css内容达到最底部但滚动条没有滚动到底部

    也是犯了一个傻狗一样的错误 滚动条样式是直接复制的蓝湖的代码 有个高度 然后就出现了这样的bug 看了好久一直以为是布局或者overflow的问题 最后发现是因为我给这个滚动条加了个高度 我也是傻狗一样的 滚动条高度是通过内容计算出来的 怎
  • QTabWidget 竖向 QTabBar横向

    参考文件引用自http blog csdn net skyztttt article details 52448992 你的评论 是我的动力 正常设置QTabWidget gt setTabPosition QTabWidget West
  • 2023年第一届山东省职业技能大赛“网络安全”赛项B模块任务书

    2023年第一届山东省职业技能大赛 网络安全 赛项B模块任务书 模块B 网络安全事件响应 数字取证调查和应用程序安全 1竞赛项目简介 1 1 介绍 1 2 所需的设备 机械 装置和材料 1 3 评分方案 1 4 项目和任务的描述 2工作任务
  • React-JSX

    react JSX 这种在js里面写标签的语法叫JSX 所谓的JSX其实就是JS的对象 JSX就是Javascript和XML结合的一种格式 React发明了JSX 利用HTML语法来创建虚拟DOM 当遇到 lt JSX就当HTML解析 遇