React笔记(2)JSX

JSX简介

JSX是JavaScript XML 的缩写,表示在JavaScript代码中写XML格式的代码。
优势:声明语法更加直观、与HTML相同,降低学习成本、提高开发效率。
JSX是React的核心内容。

使用步骤

  1. 使用JSX语法创建react元素
  2. 渲染React元素
//导入react
import React from "react";
import ReactDOM  from "react-dom";

//使用JSX创建react元素
const title = <h1>Hello JSX</h1>

//渲染react
ReactDOM.render(title,document.getElementById('root'))
  1. 为什么脚手架中可以使用JSX语法?

(1). JSX不是标准的ECMAScript语法,它是ECMASCript的语法扩展。
(2). 需要使用babel编译处理后,才能在浏览器环境中使用。
(3). create-react-app脚手架中已经默认有该配置,无需手动配置
(4). 编译 JSX 语法的包:@babel/preset-react

  1. 注意点
    (1)React元素采用驼峰命名法
    (2)特殊属性名:class->className、for ->htmlFor 、tabindex->tabIndex
    (3)没有子节点的React元素可用 /> 结束
    (4)推荐使用小括号包裹JSX,从而避免JS中的自动插入分号陷阱
const dv = (
<div>Hello</div>
)

JSX中使用JavaScript表达式

数据存储在JS中
语法:{JavaScript表达式}

const  name = 'sicily'
const dv =(
  <div>hello, I'm {name}</div>
)

JSX的条件渲染

场景:loading效果
可用if/else 、三元表达式、逻辑与运算符

//条件渲染
const isLoading =false
const loadData = () => {
  if(isLoading){
    return <div>load...</div>
  }
  return <div>数据加载完成,显示加载后数据</div>
}

const title = (
  <h1>
    条件渲染{loadData()}
  </h1>
)

列表渲染
渲染一组数据使用数据的map()方法
注意渲染列表时要添加key属性,key属性的值要保证唯一
原则:map()遍历谁就给谁添加key属性,尽量避免索引号做key

JSX的样式处理

  1. 行内样式——style
//行内样式
const list =(
  <h1 style={{color:'green',backgroundColor:'styblue'}}>
    样式处理
  </h1>
)
//渲染react
ReactDOM.render(list,document.getElementById('root'))
  1. 类名——className(推荐)
    在css文件中写样式
    在jsx中使用css的样式:

//引入css文件
import “./index.css”

注释

{/*  注释内容*/}

嵌套

与在HTML中类似

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值