首页 > 其他分享 >React框架学习基础篇-HelloReact-01

React框架学习基础篇-HelloReact-01

时间:2022-11-11 15:37:23浏览次数:71  
标签:学习 01 DOM 渲染 js React HelloReact jsx

一直想掌握一门前端技术,于是想跟着张天宇老师学习,便开始学习React,以此来记录一下我的学习之旅。

学习一门新的技术首先是去官网看看,React官网链接是[https://zh-hans.reactjs.org/]。



可以看到非常的清爽,React的特点简介,见名知意不做过多介绍

  • 声明式
  • 组件化
  • 一次学习,跨平台编写

一般学习一门新东西都是先写一个HelloWorld来看看效果,于是我们之类也是写一个HelloWorld来展示。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

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

    <!-- 引入 React 库 -->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <!-- 引入react-dom 用于react支持操作DOM -->
    <script type="text/javascript" src="../js/react-dom.development.js"></script>
    <!-- 引入jsx,用于将jsx转为js -->
    <script type="text/javascript" src="../js/babel.min.js"></script>

    <script type="text/babel"> //此处一定要写babel,表示写的是jsx
        //1.创建虚拟DOM
        const VDOM = <h1>Hello React</h1>; //此处一定不要写引号,表示是jsx
        //2.渲染虚拟DOM到页面上
        ReactDOM.render(VDOM, document.getElementById('test'));
    </script>
</body>

</html>

我们从头开始看起代码其实就是新建一个html文件,这个没什么好说的。然后主要看的body标签里面的东西。
第一个是创建一个div盒子,并取名字id为test。
image

后面四段脚本:前三个都为引入React库所需要的js文件,分别是React库,这个是核心。
第二个是引入react-dom 用于react支持操作DOM,如果不知道DOM是什么可以新开窗口百度搜索一下,相信很快就可以明白。
第三个是babel.min.js这个是用来进行转化你的jsx文件为js文件使用的,后期我们就不会写这种直接的html后缀结尾的前端文件,而是直接写jsx文件,这里先进行解释一下。

image

这是第4段脚本,这里就是我么写React代码的地方了,脚本标签显示的是babel,这就是我们要写jsx,而不再是js了。
我们创建了一个HelloWorld的标签的样式为h1,将他赋值为VDOM,这里的名字随意,但是这里便于理解就命名为虚拟DOM。于是,我们已经声明了一个这样的标签,我们要将他渲染到真实的DOM上的话,就需要使用ReactDOM来进行render渲染,第一个参数是需要渲染的对象,第二个表是渲染的地方,这里的话是使用的前面创建的test盒子对象。

写好后我们在vscode中使用插件open in liver进行打开,如下图所示。
image

这样在浏览器中就可以看到渲染的效果了:左上角一个h1属性的Hello React就出现了。
image

基础篇01结束

标签:学习,01,DOM,渲染,js,React,HelloReact,jsx
From: https://www.cnblogs.com/hg-blogs/p/16880580.html

相关文章

  • react学习笔记(react基础+react全家桶+ant-ui知识)基础篇
    title:react第一次实战项目知识点记录基础知识点项目地址:https://github.com/yangxinjian/reactPractice.git完整项目地址(主要是这个)https://github.com/yangxinjian/......
  • 20201317-Thread同步测试
    Thread同步测试代码#include<stdio.h>#include<pthread.h>#include<stdlib.h>#include<semaphore.h>#defineNUM5intqueue[NUM];sem_tblank_number,produ......
  • SBT10100VCT-ASEMI肖特基二极管SBT10100VCT
    编辑:llSBT10100VCT-ASEMI肖特基二极管SBT10100VCT型号:SBT10100VCT品牌:ASEMI封装:TO-220AB特性:肖特基二极管正向电流:10A反向耐压:100V恢复时间:5ns引脚数量:3芯片个数:2芯片尺寸:58......
  • SBT10100VCT-ASEMI肖特基二极管SBT10100VCT
    编辑:llSBT10100VCT-ASEMI肖特基二极管SBT10100VCT型号:SBT10100VCT品牌:ASEMI封装:TO-220AB特性:肖特基二极管正向电流:10A反向耐压:100V恢复时间:5ns引脚数量:3芯片个数......
  • 20201306吴龙灿第十三章学习笔记
    知识点归纳第十三章TCP/IP和网络编程学习目标通过本章的学习,了解TCP/IP协议及其应用,包括TCP/IP协议栈,ip地址,主机名,DNS,IP数据包和路由器;理解TCP/IP协议簇中的UDP和TCP......
  • Windows Update MiniTool 20.12.2016 控制Window更新下载及使用教程
    目录​​一、下载教程​​​​1.wumt官网下载​​​​2.网盘下载​​​​二、Windows更新配置​​​​1.检查更新​​​​2.下载或安装更新​​​​3.隐藏更新​​​​4.卸......
  • 个人主页的搭建记录01-需求分析以及简单设计
    最近小小接触JS,想着自己手上同时持有服务器(祖传破烂)和域名,也可以搭建一个简单主页,也作为未来继续学习的平台。需求分析问题从实践中产生,暂时先没有就搭个框架未来可慢......
  • 20201208史逸霏第十三章学习笔记
    第十三章读书笔记13.1TCP/IP协议IPv432位地址IPv6128位地址TCP/IP的哥哥层级以及每一层及的代表性组件及其功能顶层是使用TCP/IP的应用程序,用于登录到远程主机......
  • VS2019 error C4703: 使用了可能未初始化的本地指针变量 错误
    目录​​一、异常错误​​​​二、原因​​​​三、解决方法​​​​1.关闭安全开发生命周期(SDL)检查​​​​2.或者将指针变量初始化为nullptr​​一、异常错误errorC470......
  • React
    基础React是用于构建用户的JS库(Facebook开源)使用JS进行操作DOM会进行大量的重绘重排列React采用组件化模式、声明式编码提高开发效率及组件复用率React使用虚拟DOM和Di......