JSX解析

什么是JSX

JSX是JavaScript XML,是React提供的Syntax Sugar, 能让我们可以在JS中写html标记语言。
1、可以在常规的html代码标签中插入**任意有效的JS表达式(包括函数)**无需加上$

<div>{
   函数名(参数props)}</div>

2、JSX编译后是一个函数调用,返回值为JS对象,所以JSX也可以作为表达式
3、在标签中添加属性,属性值为字符串时使用"",为对象或表达式时使用{},key采用驼峰命名,另外添加自定义需要渲染的属性,最好以data-开头

const element = <div tabIndex="0"></div>;

const element = <img src={
   user.avatarUrl}></img>;

4、JSX标签没有子节点时可以单闭合

JSX将XML语法加入到JavaScript中,在JS中写了JSX将会被预处理成React Element

React与JSX的联系:
渲染的逻辑处理与UI逻辑其实是耦合的, event, state, data互相关联,既然如此,那么就把html标记语言与逻辑处理相关的js内容放在一起,组成一个松耦合的模块,这个模块就是JSX元素

JSX能做什么

写JSX的前提:
在普通的JS文件中需引入react,reactDOM(若要对DOM进行操作)以及babel或者通过Babel在线编译

react将JSX代码片段分为几块,类型(元素名), 属性值props(包含children和属性参数等), key和ref, owner和store

{}包住的默认是字符串,会进行转义,而{}包住的则会被当作表达式,不被转义

如果想在表达式里进行转义成HTML怎么做

1、使用Unicode编码

var esca = <a href='https://baidu.com'><span>5&gt;3 {
   true && '\u003Ethis is true'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值