【React学习】—jsx语法规则(三)

news/2024/7/15 18:34:45 标签: react.js, 学习, 前端

【React学习】—jsx语法规则(三)

在这里插入图片描述
一、jsx语法规则:
1、定义虚拟DOM,不要写引号,
2、标签中混入JS表达式要用{}
3、样式的类名指定不要用class,要用className
4、内联样式,要用style={{key:value}}的形式去写
5、虚拟DOM只有一个根表签
6、标签必须闭合
7、标签首字母(若小写字母开头,则将该标签转为html中同名元素,若html无该标签对应的同名元素则报错)

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>使用jsx创建</title>
    <style>
      .title {
        background-color: pink;
        width: 200px;
      }
    </style>
  </head>
  <body>
    <!-- 准备好一个容器 -->
    <div id="test">
<!-- 
           jsx语法规则:
           1、定义虚拟DOM,不要写引号,
           2、标签中混入JS表达式要用{}
           3、样式的类名指定不要用class,要用className
           4、内联样式,要用style={{key:value}}的形式去写
           5、虚拟DOM只有一个根表签
           6、标签必须闭合
           7、标签首字母(若小写字母开头,则将该标签转为html中同名元素,若html无该标签对应的同名元素则报错)
 -->

    </div>
    <!-- 引入react核心库 -->
    <script src="../js/react.development.js"></script>
    <!-- 引入react-dom支持react操作dom -->
    <script src="../js/react-dom.development.js"></script>
    <script src="../js/babel.min.js"></script>
    <script type="text/babel">
      const myId = "CaiCai";
      const myData = "Hello React";
      const VDOM = (
        <div>
          <h2 className="title" id={myId.toLowerCase()}>
            <span style={{color:'white', fontSize: "20px" }}>
            
              {myData.toLocaleUpperCase()}</span>
          </h2>
          <h2 className="title" id={myId.toLowerCase()}>
            <span style={{color:'white', fontSize: "20px" }}>
              {myData.toLocaleUpperCase()}
            </span>
          </h2>
          <input type="text"/>
        </div>);

      ReactDOM.render(VDOM, document.getElementById("test"));

     
    </script>
  </body>
</html>

二、区分js语句和表达式

在这里插入图片描述

三、JSX练习

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>jsx练习</title>
  </head>
  <body>
    <!-- 准备好一个容器 -->
    <div id="test"></div>
    <!-- 引入react核心库 -->
    <script src="../js/react.development.js"></script>
    <!-- 引入react-dom支持react操作dom -->
    <script src="../js/react-dom.development.js"></script>
    <!-- 引入Bable 用于将jsx转化为js -->
    <script src="../js/babel.min.js"></script>

    <!-- 此处一定要写Bable -->
    <script type="text/babel">
        const data=['Angular','React','Vue']
      //创建虚拟DOM
      const VDOM =(
        <div>
        <h1>前端js框架列表</h1>
        <ul>
          {
            data.map((item,index)=>{
               return <li key={index}>{item}</li>
            })
          }
        </ul>
        </div>
      )
      //渲染虚拟DOM到页面
      ReactDOM.render(VDOM,document.getElementById('test'))
    </script>
  </body>
</html>

在这里插入图片描述

四、组件与模块化的理解

在这里插入图片描述


http://www.niftyadmin.cn/n/4930516.html

相关文章

开源在线文档服务OnlyOffice

开源在线文档服务OnlyOffice应用启动与示例运行 - 掘金 ONLYOFFICE API 文档 - Example - IDEA运行Java示例 | ONLYOFFICE中文网 NEXTCLOUDonlyoffice的搭建和使用_nextcloud onlyoffice_莫冲的博客-CSDN博客 OnlyOffice java 部署使用&#xff0c;文件流方式 预览文件 | 言曌博…

wxWidgets学习笔记:wxListCtrl使用详解

使用案例 wxListCtrl中放21个item&#xff0c;每一行放两个item&#xff0c;每个item显示图标和名字&#xff0c;点击某个图标&#xff0c;该图标呈现响应状态并响应对应的事件 以下是使用wxListCtrl实现放置21个item&#xff0c;每一行放两个item&#xff0c;每个item显示图…

【Terraform学习】保护敏感变量(Terraform配置语言学习)

实验步骤 创建 EC2 IAM 角色 导航到IAM 在左侧菜单中&#xff0c;单击角色 。单击创建角色该按钮以创建新的 IAM 角色。 在创建角色部分&#xff0c;为角色选择可信实体类型&#xff1a; AWS 服务 使用案例:EC2 单击下一步 添加权限&#xff1a;现在&#xff0c;您可以看到…

vue3 provide inject实现强制刷新

1、在 App.vue 文件里写入 provide 的方法 <template> <div id"app"><keep-alive> <router-view v-if"isRouterAlive"></router-view></keep-alive> </div> </template> <script> export default …

jackson库收发json格式数据和ajax发送json格式的数据

一、jackson库收发json格式数据 jackson库是maven仓库中用来实现组织json数据功能的库。 json格式  json格式一个组织数据的字符文本格式&#xff0c;它用键值对的方式存贮数据&#xff0c;json数据都是有一对对键值对组成的&#xff0c;键只能是字符串&#xff0c;用双引号包…

js数组学习(ES6+)

文章目录 js(ES6)数组学习1.Array.prototype.forEach(fn)2.Array.prototype.map(fn)3.Array.prototype.filter(fn)4.Array.prototype.reduce(fn)5.Array.prototype.some(fn) every6.Array.prototype.find(fn)7.Array.prototype.includes(item) js(ES6)数组学习 1.Array.protot…

【Git】Git切换地址

如何切换git代码地址&#xff1f; 1、查看当前远程 url git remote -v执行命令后&#xff0c;可以看见当前有2个URL。 远程 URL 在一般情况下有两个&#xff0c;分别是 fetch 和 push。 fetch URL 是用于从远程仓库获取最新版本的数据。当您运行 git fetch 命令时&#xf…

Could not resolve host: mirrorlist.centos.org; Unknown error解决方法

今天服务器安装完CentOS系统后&#xff0c;安装网络的时候&#xff0c;出现无法联网yum yum -y install net-tools 以上代码无法运行并报错&#xff0c;这里我要提醒大家&#xff0c;如果在初始安装的时候选中安装网络工具模块就不用在安装net-tools了&#xff0c;因为我选中…