首页 > 其他分享 >React(五):jsx语法

React(五):jsx语法

时间:2023-07-30 13:55:45浏览次数:38  
标签:语法 arr const 标签 js React 数组 jsx

1.jsx语法

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>jsx语法</title>
    <script src="https://unpkg.com/react@18/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>

    <!-- Don't use this in production: -->
    <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

    <style>
        .myBody {
            background-color: aqua;
            margin: 10px;
        }
    </style>
</head>

<body>
    <!-- 准备一个容器 -->
    <div id="test"></div>

</body>

<script type="text/babel">

    const myId = 'tiTle'
    const myContent = 'HeLLo,rEAcT'

    // 使用jsx创建虚拟DOM
    const vDom = (
        <div>
            <div className="myBody">
                <h1 id={myId.toLocaleUpperCase()}>
                    <span style={{color: 'white', fontSzie: '30px'}}>{myContent.toLocaleUpperCase()}</span>
                </h1>
            </div>
            <div className="myBody">
                <h1 id={myId.toLocaleLowerCase()}>
                    <span>{myContent.toLocaleLowerCase()}</span>
                </h1>
            </div>
        </div>

    )
    //react渲染
    ReactDOM.render(vDom, document.getElementById("test"))


    /*jsx语法规则
        1.定义虚拟DOM时,不要用引号包裹,用引号写的是字符串
        2.标签中写js表达式要用{}
        3.样式的类名指定不要用class,要用className
        4.内联样式要用style={{key:value}}的形式去写,外层大括号表示写的是js表达式,内层大括号表示是一个对象,"-"连接的样式名称要写成大驼峰的形式
        5.只能有一个根标签,也就是说无论有多少个标签,最终都要被一个标签包裹着
        6.所有标签必须闭合
        7.小写字母开头的标签会解析为html标签,没有对应标签的话会报错;大写字母开头的回去找对应的组件进行渲染,没有对应组件的话会报错
    */
</script>

</html>

2.jsx中数组遍历

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>jsx小练习之数组遍历</title>
    <script src="https://unpkg.com/react@18/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script>

    <!-- Don't use this in production: -->
    <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

    <style>
        .myBody {
            background-color: aqua;
            margin: 10px;
        }
    </style>
</head>

<body>
    <!-- 准备一个容器 -->
    <div id="test"></div>

</body>

<script type="text/babel">

    const arr = [1,3,5,7,9]


    // 使用jsx创建虚拟DOM
    const vDom = (
        <div>
            <h1>个位奇数</h1>
            <ul>
                {
                    arr.map((number, index) => {
                        return <li key={index}>{number}</li>
                    })
                }
            </ul>
        </div>
    )
    //react渲染
    ReactDOM.render(vDom, document.getElementById("test"))

    /*
        1. map(callbackFc)函数
            结果:返回一个新的数组
            参数:callbackFc,一个回调函数
                函数可以携带三个参数(element, index, arr)
                element:每一个数组元素,必须
                index:索引,非必须
                arr: 当前数组,非必须
        2. jsx中{}只能写js表达式,不能写js语句,表达式就是有返回值的东西
        3. jsx在遍历数组时,必须有key,key作为每一个元素的唯一标识是不能重复的
    */

</script>

</html>

 

标签:语法,arr,const,标签,js,React,数组,jsx
From: https://www.cnblogs.com/jmsstudy/p/17591359.html

相关文章

  • React(六):组件的两种创建方式
    1.函数式组件<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>函数式组件</title><scriptsrc="https://unpkg.com/react@18/umd/react.development.js"></script><script......
  • React 正在经历 Angular.js 的时刻吗?
    本文作者FrançoisZaninotto是资深React开发者,在看到React官方开始推广服务器组件后,他对此表示担忧,因为这会让现有的很多写法都失效。文章讨论了React和Next.js团队最近推广的服务器组件,这种新的构建Web应用程序的方式与大多数现有的React应用程序不符。因此,作者提......
  • SAP Fiori Elements SemanticKey 的语法
    annotation本地文件的xml片段如下:<AnnotationsTarget="SEPMRA_PROD_MAN.SEPMRA_C_PD_ProductType"xmlns="http://docs.oasis-open.org/odata/ns/edm"><AnnotationTerm="Common.SemanticKey">......
  • for循环语法-习题
    for循环-习题for循环求和【题目描述】利用for循环。计算输出1+2+3+...+n的和。【输入】输入n。【输出】如题述,之和。【输入样例】10【输出样例】55【提示】【数据规模及约定】对于100%的数据,1≤n≤100。inta,b=0;cin>>a;for(intn=1;n<=a;n++){ b+=n;}......
  • React18学习笔记
    目录使用Create-React-App创建项目使用Vite创建项目JSX语法基础标签属性事件插入JS变量和表达式条件判断循环实践:列表页组件Props组件通讯HooksuseState基本使用特点使用useState实现问卷的增删改使用immer解决不可变数据问题useEffectuseRefuseMemo......
  • Vue3之ref取render形式组件jsx元素节点
    [2023年7月28日22:16:06]ref取render方式组件节点一开始注意到组件setup和render一起使用的情况,好奇怎么通过ref取到render中jsx里的节点,一开始试了以下的尝试,结果是undefined的:import{defineComponent,ref,onMounted}from"vue";exportdefault......
  • python基础语法
    变量和简单的数据类型变量变量的命名规则:1、只能包含字母、数字和下划线,并且不能以数字开头2、变量名中不能是python中的保留字字符串字符串的几种定义方法name='Bob'name="Bob"name="""Bob"""如何字符串本身包含单引号或者双引号,我们可以用与包含相反的方式去定......
  • MySQL-PHP语法
    MySQL可以很好地结合各种编程语言,如PERL、C、C++、JAVA和PHP。在这些语言中,PHP是最受欢迎的一种,因为它具有web应用程序开发功能。本教程主要关注在PHP环境中使用MySQL。如果对使用PERL的MySQL感兴趣,那么可以考虑阅读PERL教程。PHP提供了访问MySQL数据库和操作MySQL数据库中的数据记......
  • MarkDown语法笔记
    MarkDown学习标题井号+空格+标题内容+回车三级标题四级标题字体两边双星号加粗Hello,World!两边单星号斜体Hello,World!两边波浪号删除Hello,World!引用大于号+引用内容MarkDown学习分割线三个减号---三个星号***图片![图片名称](图片地址:可以本地/可以网络)......
  • mybatis常用xml语法
    @Select("<script>"+"select"+"vga.plate_typeasplateType,"+"count(plate_info)ascounts"+"from"+"vehicle_gangqu_all......