位置: IT常识 - 正文

全面理解JSX(全面理解健康教案)

编辑:rootadmin
1 简介 JSX(JavaScript XML),即可拓展的JavaScript,是react定义的一种类似于XML的js扩展语法:JS+XML。它本质上是React.createElement(type,config,...children)的语法糖,主要用于创建React元素,生成虚拟DOM 2 ... 1 简介

推荐整理分享全面理解JSX(全面理解健康教案),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:全面理解党的根本宗旨,全面理解和把握新发展理念,全面理解健康教案,全面理解和把握党的二十主题,全面理解和把握党的二十主题,全面理解和把握党的二十主题,全面理解海外利益安全,全面理解总体国家安全观,内容如对您有帮助,希望把文章链接给更多的朋友!

JSX(JavaScript XML),即可拓展的JavaScript,是react定义的一种类似于XML的js扩展语法:JS+XML。它本质上是React.createElement(type,config,...children)的语法糖,主要用于创建React元素,生成虚拟DOM

2 使用jsx

可以使用react脚手架或者引入react与babel相关脚本来体验jsx。这里主要介绍一下后者如何使用

3 jsx语法规则

jsx包括xml格式的标签和jsx表达式{},下面从这两个角度来介绍jsx的语法规则

全面理解JSX(全面理解健康教案)

标签规则

根标签单一且闭合,否则抛出异常标签类名使用className而非class,内联样式的属性名采用小驼峰形式命名 const FC = () => ( <h1 className="font-red"> hello react <span style={{ color: 'blue' }} onClick={() => { alert('click span') }}>inner text</span> </h1> )标签属性都可以使用jsx表达式{},只有字符串可以省略大括号 <h1 className="font-red"> hello react </h1>

jsx表达式规则

{}中必须返回一个值基于1,流程控制与循环语句语句如if、for是不允许的,因为他们默认没有返回值,而逻辑运算符如&&、||、三元表达式是允许的,函数也是允许的,因为它们一定会返回一个值。因此jsx中做逻辑判断的时候优先使用后者。基于2,如果一定要使用if、for,考虑在jsx表达式中使用IIFE <input type="text" value={((type)=>{ if(type === 1){ return 'one' }else if(type === 2){ return 'two' }else{ return '' } })(type)} />对于falsy值,0会被正常渲染到页面,而false,true,null,undefined不会。如果一定要渲染它们,请先转换成字符串。 // 比如下面这段代码会在页面上显示一个不符合期望的0 const FC2 = ({arr}) => <span>{arr.length && arr.join()}</span> ReactDOM.render(<FC2 arr={[]} />, document.getElementById('app'))4 jsx优缺点4.1 优点

js语法在运行时灵活的特性基于js语法拓展,jsx具有js较为灵活的特点

xml在树状结构的表现上较为优秀因为在嵌套层数较深、交互逻辑更复杂的情况下,xml+js比起js直接创建dom或CreateElement等方式来说更人性化、更易于维护

放止XSS DOM注入型攻击jsx会将标签转义为字符串,以防止恶意标签被注入到页面

// 页面上展示文案: <a href="#">inner text<\/a> const FC = ({value}) => <div>{value}</div> ReactDOM.render(<FC value={`<a href="#">inner text<\/a>`} />, document.getElementById('app')) // 页面上出现a标签,DOM被注入 const FC = ({value}) => <div dangerouslySetInnerHTML={{__html:value}}></div> ReactDOM.render(<FC value={`<a href="#">inner text<\/a>`} />, document.getElementById('app'))4.2 缺点

导致项目依赖增多jsx必须依赖babel等编译工具转换成React.createElement才可以正常运行,导致项目依赖增多

5 深入react源码解读jsx到ReactElement

此后,jsx被编译成了React.CreateElement,后面要做的事情就是执行这个方法并创建React元素。对后续细节感兴趣可以看看这篇深入react源码解读jsx到ReactElement

本文链接地址:https://www.jiuchutong.com/zhishi/313037.html 转载请保留说明!

上一篇:织梦SEO专题的制作与优化技巧(织梦建站详细教程)

下一篇:Python学习:property装饰器(pythonproperty)

  • 怎么看电脑显卡内存(怎么看电脑显卡)(怎么看电脑显卡是多少G的)

    怎么看电脑显卡内存(怎么看电脑显卡)(怎么看电脑显卡是多少G的)

  • 腾讯视频只看ta功能怎么设置

    腾讯视频只看ta功能怎么设置

  • mate30微信面容支付如何开启(mate20微信面容支付)

    mate30微信面容支付如何开启(mate20微信面容支付)

  • 抖音账号三无什么意思(什么是三无抖音)

    抖音账号三无什么意思(什么是三无抖音)

  • 苹果x隐藏照片怎么恢复(苹果手机里的照片怎么隐藏)

    苹果x隐藏照片怎么恢复(苹果手机里的照片怎么隐藏)

  • 华为有地震预警嘛(华为有地震预警功能哪里可以用)

    华为有地震预警嘛(华为有地震预警功能哪里可以用)

  • 华为手机怎么开视频通话美颜(华为手机怎么开启无线充电功能)

    华为手机怎么开视频通话美颜(华为手机怎么开启无线充电功能)

  • 功能机恢复出厂设置密码(功能机恢复出厂设置代码)

    功能机恢复出厂设置密码(功能机恢复出厂设置代码)

  • 抖音在哪拍视频(抖音在哪拍视频能赚钱)

    抖音在哪拍视频(抖音在哪拍视频能赚钱)

  • 主板针脚歪了能点亮吗(主板针脚歪了能用吗)

    主板针脚歪了能点亮吗(主板针脚歪了能用吗)

  • hp是什么打印机(惠普打印机都有什么型号)

    hp是什么打印机(惠普打印机都有什么型号)

  • 空间日志的视频为什么不能看(空间日志的视频怎么保存)

    空间日志的视频为什么不能看(空间日志的视频怎么保存)

  • 微信存在违规行为什么意思(微信存在违规行为封多久)

    微信存在违规行为什么意思(微信存在违规行为封多久)

  • qq群文件删除失败是怎么回事(qq群文件删除后怎么恢复)

    qq群文件删除失败是怎么回事(qq群文件删除后怎么恢复)

  • 微信怎么顶置好友(微信怎么顶置好友信息)

    微信怎么顶置好友(微信怎么顶置好友信息)

  • 如何挂失电话号码(如何挂失电话号码电信)

    如何挂失电话号码(如何挂失电话号码电信)

  • word的五种对齐方式(word五种对齐方式快捷键)

    word的五种对齐方式(word五种对齐方式快捷键)

  • 苹果max美版是双卡的吗(苹果max美版是双卡双待吗)

    苹果max美版是双卡的吗(苹果max美版是双卡双待吗)

  • 手机不能录音怎么办(手机不能录音怎么设置)

    手机不能录音怎么办(手机不能录音怎么设置)

  • iphonex算2k屏吗(iphone x是4k屏吗)

    iphonex算2k屏吗(iphone x是4k屏吗)

  • 三星note10没有耳机孔怎么听歌(三星note10耳机插上去没反应)

    三星note10没有耳机孔怎么听歌(三星note10耳机插上去没反应)

  • 网络直播房间内容存储时间不少于多少天备查(网络直播房间布置图)

    网络直播房间内容存储时间不少于多少天备查(网络直播房间布置图)

  • 3ds怎么联网(3ds怎么联网更新游戏版本)

    3ds怎么联网(3ds怎么联网更新游戏版本)

  • 大型打印机怎么使用(大型打印机怎么开机)

    大型打印机怎么使用(大型打印机怎么开机)

  • qq聊天记录里的图片失效了怎么办(qq聊天记录里的文件过期了怎么恢复)

    qq聊天记录里的图片失效了怎么办(qq聊天记录里的文件过期了怎么恢复)

  • word一级二级三级标题如何设置(word一级二级三级标题字体)

    word一级二级三级标题如何设置(word一级二级三级标题字体)

  • Python如何在画布中绘制多个图表?(python如何在画布上写字)

    Python如何在画布中绘制多个图表?(python如何在画布上写字)

  • 增值税相关政策
  • 税收法律关系中最实质的东西是
  • 息税前利润变动率
  • 出差加油算什么费用
  • 筹建期印花税退税分录
  • 计提坏账准备怎么理解
  • 如何在网上查询发票
  • 非同一控制企业合并下,购买日将
  • 公司报销生育津贴,孕期还需要去社保局备案吗
  • 一个公司控股另一个公司
  • 进口增值税已付发票未到如何入账
  • 同一个客户有应收也有应付怎么办
  • 营改增后房地产企业如何开票
  • 应交税金明细账余额怎么算
  • 投资收益账户月末结转余额吗?
  • 金税三期个人所得税怎么下载
  • 捐赠个人支出需要交纳个税吗?
  • 差额纳税销项税额抵减
  • 国税申报数据能修改吗
  • 固定资产折旧在资产负债表属于什么
  • 境外个人汇入汇款规定
  • 销售购进材料会计分录
  • 个人劳务费增值税税率是多少2023
  • 购销合同印花税税率
  • 发放员工过节费
  • 长期待摊费用发生当月摊还是次月摊
  • 集团内部资金往来用什么科目核算
  • 财产清查的账务处理原则
  • 怎么批量给指定条件加入批注
  • WIN10显示缩略图
  • win 安全
  • 腾讯电脑管家中蓝牙在哪
  • php检测文件是否存在
  • 分公司吸收新股怎么办
  • (二) Vue3 + Element-Plus 实现动态菜单栏
  • php代码大全及其含义
  • cssschool
  • nsloopup命令
  • python里面的类
  • 企业所得税申报表在哪里打印
  • Servlet4.0 Response
  • 怎么确定应付账款的完整性
  • 分公司转款总公司总公司怎样会计处理
  • 政府补助免征企业所得税条件会计分录
  • 资产负债表中所有者权益合计怎么算
  • sql存储过程使用
  • 临时工工资怎么报个税
  • pos机刷卡未成功却扣了钱啥时候就退回来了
  • 贷款计入什么科目
  • 跨年发生退货税务处理
  • 工会的会费收入是什么
  • 以前年度的销售退回能否直接冲减销售收入
  • 房地产开发公司是做什么的
  • 缴纳房产税和城镇房产税
  • 暂扣员工工资应怎么处理
  • 2021年财务报表申报
  • 增值税销项抵扣报税后有效期是多长时间
  • 如何编写wa
  • 医疗机构药库设置标准
  • ug实体命令怎么使用
  • boxjs
  • mac如何设置默认打开程序
  • windows以管理员权限打开文件
  • windows mobile10
  • xtemplate node.js 的使用方法实例解析
  • csshtml经典案例
  • linux自动清理磁盘空间
  • sed查找字符串
  • 事件绑定js
  • javascript要怎么学
  • python中csv怎么用
  • 安卓 centos
  • 基于javascript的毕业设计
  • 如何用python写自动化脚本
  • java dom解析
  • 百望税控盘电子发票发送邮箱
  • 智行火车票电子报销凭证
  • 安康国税局电话号码
  • 济南特色没事
  • 珠海选调生2021公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设