React框架-JSX语法


前言

JSX是一个 JavaScript 的语法扩展,是javascript XML语法糖。官方建议在 React 中配合使用 JSX,JSX 可以很好地描述 UI 应该呈现出它应有交互的本质形式。JSX 可能会使人联想到模版语言,但它具有 JavaScript 的全部功能。

JSX 可以生成 React “元素”。


一、你如何理解JSX?

1、JSX是对象

Babel 会把 JSX 转译成一个名为 React.createElement() 函数调用。

//以下两种示例代码完全等效

//React元素
const element = React.createElement(
	'h1',
	{className: 'greeting'},
	'Hello, world!'
);

const element = <h1 className="greeting">Hello, world!</h1>
2、JSX是变量

JSX 标签里能够包含很多子元素

const element1 = <h1 className="greeting">Hello, world!</h1>

const eleChild = <div>
					<h3>child</h3>
				 </div>

const ele = <div>
				<h1>hello react</h1>
				<h1>hello</h1>
				{ eleChild }
			</div>
3、JSX可以嵌套

在 JSX 语法中,你可以在大括号内放置任何有效的 JavaScript 表达式。
在下面的例子中,声明了一个名为 num 的变量,然后在 JSX 中使用它,并将它包裹在大括号中:

const col = "col"
const title = "hello react"
const num = 200

function createDom(arg){
	arg = arg || 0
	return (
		<div>
			<h2 className={col} title={title}>{num + arg}</h2>
		</div>
	)
}

const res = createDom(123)
4、jsx可以防注入攻击

React DOM 在渲染所有输入内容之前,默认会进行转义。它可以确保在你的应用中,永远不会注入那些并非自己明确编写的内容。所有的内容在渲染之前都被转换成了字符串。这样可以有效地防止 XSS(cross-site-scripting, 跨站脚本)攻击。

const title = xxx.xxxxxxxx
// 直接使用是安全的
const ele = <h1>{ title }</h1>

二、JSX注释方式

1、单行注释
{/*这是我的注释*/}
2、多行注释
{/*
	<h1>hello react</h1>
	<h1>hello</h1>
*/}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值