• JSX基本使用


    JSX基本使用

    JSX: JavaScript XML的简写。就是一种在 JavaScript 中编写 XML(HTML) 格式的代码。

    优势: 声明式语法更加直观,和HTML 结构相同,减低学习成本。提高开发效率。

    基本使用

    1. //前提:使用react 脚手架进行项目初始化(npx create-react-app my-app)
    2. // 1.导入react
    3. import React from 'react'
    4. import ReactDOM from 'react-dom
    5. //使用JSX 进行 react 元素的创建
    6. const title =
    7. <h1>Hello World!!
    8. //渲染 react 元素
    9. ReactDOM.render(title, document.getElementById('root'))

    JSX注意点:

    • React元素的属性名使用驼峰命名法

    • 特殊的属性名:(HTML --> XML)

      • class --> className 、 for -->htmlFor 、 tabindex --> tabIndex
    • 没有子节点的 react 元素可以使用单标签进行表示 < />

    • 推荐使用 小括号 包含 JSX,从而避免 JS 中的自动插入分号陷阱

    JSX 中使用 javascript

    语法:{ javascript表达式 } ----- (类似于插值语法)

    1. const name = '小宝'
    2. const title = (
    3. <div>我是:{ name }div>
    4. )

    JSX 中使用 javascript 的注意点

    • 单括号中可以使用任意的 javascript 表达式---也可以直接写一些简单(字符串、三元运算符等等)

    • JSX 自身也是 JS 表达式

    • JS 中对象一般只有作为 style 属性出现的时候才是合法的,不然直接在 JSX 中使用对象写法会报错

    • 不能在 {} 中出现语句(例如:if/for等)

    JSX条件渲染

    场景:进行一些过渡加载效果时进行判断

     使用:主要通过 if/else 、三元运算符、逻辑与来实现

    基本使用:

    1. const isLoading = true;
    2. const loading = () => {
    3. return isLoading ? (<h1>加载中...h1>) : (<div>加载完成div>)
    4. }
    5. const title = (
    6. <h1>
    7. 条件渲染:
    8. { loading() }
    9. h1>
    10. )

    JSX列表渲染

    方法:使用数组的 map() 方法进行列表渲染

    注意:列表渲染时,需要添加 key() 属性,key值要唯一,且尽量避免使用索引号为 key

    基本使用:

    1. // 列表渲染
    2. const song = [
    3. {id : 1, name : '幻听'},
    4. {id : 2, name : '山水之间'},
    5. {id : 3, name : '宇宙之大'},
    6. ]
    7. const title = (
    8. <ul>
    9. { song.map(item => <li key = {item.id}>{item.name}li>) }
    10. ul>
    11. )

    JSX样式处理

    • 行内样式---style
    1. // 行内样式
    2. const title = (
    3. <h1 style={{color : 'red', fontSize : '30px'}}>
    4. 样式处理
    5. h1>
    6. )
    • 类名----className
    1. // 类名
    2. // 引入css文件
    3. import './index.css'
    4. // 使用css文件中的元素样式
    5. const title = (
    6. <h1 className='title'>
    7. 样式处理
    8. h1>
    9. )
  • 相关阅读:
    H5网页漫画小说苹果cms模板源码/支持对接公众号/支持三级分销
    为什么要选择期权?开通期权有何益处?
    一年一度的科技狂欢盛会——2022亚马逊云科技re:Invent全球大会
    文档管理是什么?都有哪些?
    AWR1843+DCA1000+mmwave_studio 采集原始数据
    TSINGSEE青犀智能分析网关裸土覆盖算法如何做到防范山体滑坡?
    Spring 04: IOC控制反转 + DI依赖注入
    国产办公软件崛起,WPS发布新版本,金山系兄弟软件来助力
    第八章 集成学习
    基于Apache组件,分析对象池原理
  • 原文地址:https://blog.csdn.net/weixin_51642358/article/details/126311862