当前位置:网站首页>JSX的基本使用
JSX的基本使用
2022-06-29 04:04:00 【冰雪奇缘lb】
JSX的基本使用
JSX 是 JavaScript XML 的简写,表示在 JavaScript 代码中写 XML ( HTML)格式的代码
优势:声明式语法更加直观、与 HTML 结构相同,降低了学习成本、提升开发效率

使用步骤
- 使用 JSX 语法创建 react 元素
const title = <h1> hello JSX </h1>
- 使用 ReactDom.render() 方法渲染 react 元素到页面中
ReactDom.render(title, root)
为什么脚手架中可以使用JSX语法?
JSX不是标准的ECMAScript语法,它是ECMAScript的语法扩展。- 需要使用
babel编译处理后,才能在浏览器环境中使用。 create-react-app脚手架中已经默认有该配置,无需手动配置。- 编译 JSX 的包为 @bable/preset-react
嵌入 JS 表达式
- 数据存在
JS中 - 语法:
{ JavaScript表达式 } - 注意:语法中是
单大括号,不是双大括号!和 vue 不一样
import React from "react";
import ReactDOM from "react-dom";
// JSX中使用 JavaScript 表达式
const name = 'Jack'
const title =(
<h1 className="title">
Hello, {
name }
</h1>
)
// 渲染 react 元素
ReactDOM.render(title, document.getElementById('root'))
JSX 的列表渲染
如果要渲染一组数据,应该使用数组的 map() 方法
注意:渲染列表时应该添加 key属性,key属性的值要保证唯一
原则:map()遍历谁,就给谁添加key属性
注意:尽量避免使用索引号作为key
// 列表渲染
const songs = [
{
id: 1, name: '素颜'},
{
id: 2, name: '传奇'},
{
id: 3, name: '消愁'}
]
const list = (
<ul>
{
songs.map( item => <li key={
item.id}>{
item.name }</li> ) }
</ul>
)
JSX 的样式处理
- 行内样式——style
<h1 style={
{
color: 'red', backgroundColor: 'skyblue' }}>
JSX 的样式处理
</h1>
- 类名——className 【推荐】
<h1 className="title">
JSX 的样式处理
</h1>
JSX 总结
- JSX是React的核心内容。
- JSX表示在JS代码中写HTML结构,是React声明式的体现。
- 使用JSX配合嵌入的JS表达式、条件渲染、列表渲染,可以描述任意UI结构。
- 推荐使用className的方式给JSX添加样式。
- React完全利用JS语言自身的能力来编写Ul,而不是造轮子增强HTML功能。
边栏推荐
- leetcode - 295. 数据流的中位数
- 基于可变参模板实现的线程池
- 干货丨微服务架构是什么?有哪些优点和不足?
- Qtableview gets all currently selected cells
- Hcie security day41: theoretical learning: information collection and network detection
- 不使用union实现Mysql 列转行
- 谁家的加密密钥,写死在代码里?(说的就是你)
- Vg4131sxxxn0s1 wireless module hardware specification
- MobileOne: 移动端仅需1ms的高性能骨干
- 在命令行登录mysql数据库以及查看版本号
猜你喜欢

Source code analysis of go redsync distributed lock

Preliminary construction of SSM project environment

leetcode - 295. 数据流的中位数

开发者方案 · 环境监测设备(小熊派物联网开发板)接入涂鸦IoT开发平台

【FPGA+sin】基于DDS(直接数字合成)的正弦信号发生器模块FPGA实现

yolox出现 RuntimeError: DataLoader worker (pid(s) 17724, 1364, 18928) exited unexpectedly

SQL two columns become multi row filter display

88. (cesium chapter) cesium aggregation diagram

干货丨微服务架构是什么?有哪些优点和不足?

多机局域网办公神器 rustdesk 使用强推!!!
随机推荐
Go implements distributed locks
CANoe-如何在Trace窗口解析报文并显示信息(Program Node和结构体类型系统变量的使用)
webassembly学习-动态链接
Remote connection of raspberry pie in VNC Viewer Mode
请问大佬,Oracle CDC报错 Call snapshotState on closed sou
Adelaidet (detectron2) & abcnet environment configuration
树莓派用VNC Viewer方式远程连接
New listing of operation light 3.0 -- a sincere work of self subversion across the times
Yangzhou needs one English IT Helpdesk Engineer -20220216
Preliminary construction of SSM project environment
[nrf51][nrf52] nrfconnect installation instructions guide
Four distributed session solutions
Wi-Fi 7 来啦,它到底有多强?
Data collection and management [3]
Data collection and management [12]
How to back up all data on Apple mobile phone in 2 steps (free)
Efficientnetv2 - get smaller models and faster training with NAS, scaling, and fused mbconv
Implementing mqtt communication with PHP
[fpga+sin] FPGA implementation of sinusoidal signal generator module based on DDS (direct digital synthesis)
leetcode - 295. 数据流的中位数