jsx怎么往js里传参数_JSX语法使用详解——终极版

本文详细介绍了JSX的基本概念,包括JSX是什么,JSX如何代表JS对象,如何在JSX中使用JavaScript表达式,如何设置JSX属性值,以及JSX的children特性。特别强调了JSX可以防范注入攻击,通过自动编码确保安全性。此外,还讨论了如何在JSX中处理和传递参数,以及用户自定义组件中children的渲染问题。
摘要由CSDN通过智能技术生成

一、基础

1、JSX是什么

JSX是一种像下面这样的语法:

const element =

Hello, world!

;

它是一种JavaScript语法扩展,在React中可以方便地用来描述UI。

本质上,JSX为我们提供了创建React元素方法(React.createElement(component, props, ...children))的语法糖(syntactic sugar)。上面的代码实质上等价于:

var element = React.createElement(

"h1",

null,

"Hello, world!"

);

2、JSX代表JS对象

JSX本身也是一个表达式,在编译后,JSX表达式会变成普通的JavaScript对象。

你可以在if语句或for循环中使用JSX,你可以将它赋值给变量,你可以将它作为参数接收,你也可以在函数中返回JSX。

例如下面的代码:

function getGreeting(user) {

if (user) {

return

Hello, {formatName(user)}!

;

}

return

Hello, Stranger.

;

}

上面的代码在if语句中使用JSX,并将JSX作为函数返回值。实际上,这些JSX经过编译后都会变成JavaScript对象。

经过babel会变成下面的js代码:

function test(user) {

if (user) {

return React.createElement(

"h1",

null,

"Hello, ",

formatStr(user),

"!"

);

}

return React.createElement(

"h1",

null,

"Hello, Stranger."</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值