LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

react 入门基础:JSX 语法

admin
2024年11月27日 22:35 本文热度 69

在初识 react章节的最后,创建的第一个 react 项目里,App()方法里的代码看起来有点儿奇怪。

明明长得像 HTML,却能揉在 JS 代码里不用转义。

今天就来认识这个奇怪的代码,也就是基于 JSX 语法写的代码。

什么是 JSX 语法

JSX 是 JavaScript 语法的扩展,即 JavaScript Extension。

React 使用 JSX 替代常规的 JavaScript。

它有很多优点,个人认为最好的一点,是提高了代码的可读性。特别是当需要使用 JavaScript 操作 DOM 的时候。

const element = <h1 className="myclass">Hello, world</h1>; 

JSX 用来申明 react 中的元素。

与浏览器 DOM 元素不同,react 中的元素是普通的对象。

react DOM 可以确保浏览器 DOM 的数据内容与 react 元素保持一致。

通过 ReactDOM.render() 的方法,可以将 react 元素渲染到页面上。

const element = <h1 className="myclass">Hello, world</h1>; const root = ReactDOM.createRoot(document.getElementById("root")); root.render(element); 

使用 JSX

那要如何使用 JSX 呢?一个一个来看。

多个 HTML 元素需要使用一个元素包裹

首先要记住的,是当有多个 HTML 元素要渲染的时候,一定要在最外层使用元素把所有的元素包裹起来。

const root = ReactDOM.createRoot(document.getElementById("root")); root.render(     <div>       <h1>IT从业指北</h1>       <h2>一起来学习 React</h2>     </div> ); 

上面有<h1><h2>两个元素,当需要渲染时,就需要在最外层使用<div>或其它元素将它们包裹起来。否则语法会有错误。

在 JSX 中使用 JavaScript

在 JSX 中使用 JavaScript 时,表达式写在花括号 {} 中

const root = ReactDOM.createRoot(document.getElementById("root")); root.render(     <div>         <h1>{2024 + 100}</h1>         <h1>IT从业指北</h1>         <h2>一起来学习 React</h2>     </div> ); 

上面的第一个h1里,计算之后的值为 2124。

在 JSX 中不能使用条件判断语句 if else,但可以使用三元运算表达式来替代。

const root = ReactDOM.createRoot(document.getElementById("root")); root.render(   <div>{== 1 ? '成功' : '失败'}</div> ); 

在 JSX 中使用数组

JSX 允许在模板中插入数组,且会自动展开数组中的所有成员。

var arr = [   <li>HTML教程</li>,   <li>CSS教程</li>,   <li>JavaScript教程</li>, ]; const root = ReactDOM.createRoot(document.getElementById("root")); root.render(   <div>     <h1>IT从业指北有以下系列教程:</h1>     <ul>{arr}</ul>   </div> ); 

以上代码渲染之后,页面显示内容如下:

在 JSX 中使用样式

react 中推荐使用内联样式。

使用 camelCase 语法,也就是著名的驼峰语法来设置内联样式。

var myStyle = {     fontSize: 16,     color: '#FF6600' }; const root = ReactDOM.createRoot(document.getElementById("root")); root.render(   <div>     <h1>IT从业指北有以下系列教程:</h1>     <ul style= {myStyle}>{arr}</ul>   </div> ); 

这里注意,react 会在特定元素值的数字后自动添加 px 。比如上述的fontSize值中的 16 表示的是 16px。

JSX 中的注释

JSX 中的注释分两种场景:

  • 在标签内:注释需要花括号

  • 在标签外:注释不能使用花括号

var myStyle = {     fontSize: 16,     color: '#FF6600' }; const root = ReactDOM.createRoot(document.getElementById("root")); root.render(   /*标签外的注释 */   <div>     <h1>IT从业指北有以下系列教程:</h1>     {/*标签内的注释.*/}     <ul style= {myStyle}>{arr}</ul>   </div> ); 

总结

  • 🍑 JSX 是 JavaScript 语法的扩展,即 JavaScript Extension。

  • 🍑 当有多个 HTML 元素要渲染的时候,一定要在最外层使用元素把所有的元素包裹起来。

  • 🍑 在 JSX 使用样式的时候,react 会在特定元素值的数字后自动添加 px


该文章在 2024/11/28 17:40:03 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved