04-JSX数据渲染

JSX 数据渲染

一、相关知识点

  • JSX中使用 { } 来展示数据,这个{ } 也可以设置简单的JS表达式
  • 布尔类型的数据,React无法直接在 { }进行渲染,需要经过处理
  • 数组,React默认将数组拼接为字符串,需要调用map()方法进行处理
  • 对象Object 不能直接展示,可以转化为JSON 字符串,也可以直接调用。

二、渲染过程

  1. 使用JSX声明React元素结构,这个结构就是React生成真实的DOM模板;
  2. 这个JSX模板被babel编译成React.createElement();
  3. 由React.createElement()将这些React元素渲染成虚拟DOM;
  4. 有render() 函数,讲这些虚拟DOM渲染为真实DOM,将虚拟DOM节点插入body中

三、示例代码

1. 在头部引入react 和 babel

<script src="https://unpkg.com/react@18.1/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@18.1/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>

2. HTML 代码

<div id="main"></div>

3. JS代码

3.1 首先在script标签中进行配置,
 <script type="text/babel"></script>
3.2 编写JSX代码
3.2.1 准备数据,多种类型的数据,尽可能的多考虑
let username = "小明";
let isMan = true;
let age = 30;
let arr = [10, 20, 30, 40];
let user = {
     uname: "小红",
     uage: 22,
   };
3.2.2 利用JSX展示数据
let div = (
        <div className="container">
          <p>姓名:{username}</p>
          <p>性别:{isMan},默认布尔类型数据,react无法直接展示</p>
          <p>性别:{isMan ? "男" : "女"}</p>
          <p>年龄:{age}</p>
          <p>数组:{arr},默认React将数组拼接为字符串了</p>
          <p>数组遍历:{arr.map((num) => num + "-")}</p>
          <div>
            数组遍历:
            {arr.map((num) => (
              <div>
                <span>{num}</span>
              </div>
            ))}
          </div>
          <div>
            数组遍历:
            {arr.map((num) => {
              return (
                <div className="d">
                  <a href="#">{num}</a>
                </div>
              );
            })}
          </div>
          <div>
            对象:{JSON.stringify(user)},注意对象不能直接展示,可以转成JSON字符串
          </div>
          <div>
            对象姓名:{user.uname},对象年龄:{user.uage}
          </div>
        </div>
      );
3.2.3 将数据渲染到页面中
let root = ReactDOM.createRoot(document.getElementById("main"));
root.render(div);

四、结果展示

let root = ReactDOM.createRoot(document.getElementById("main"));
root.render(div);

四、结果展示

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值