React学习笔记(一) 入门

简介: React学习笔记(一) 入门


1、安装


刚开始的时候,我们还是直接通过 CDN 引入就好,这样可以帮助我们更快速地体验 React

  • 开发环境
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
  • 生产环境
<script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>


2、入门


我们还是先从一个 Hello World 的例子开始,创建一个 html 文件,并在文件中输入如下代码:

<!DOCTYPE html>
<html>
<head>
    <title>Demo</title>
    <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/babel-standalone"></script>
</head>
<body>
    <div id="app"></div>
    <script type="text/babel">
        const element = <h3>Hello World</h3>;
        ReactDOM.render(
            element,
            document.getElementById('app')
        );
    </script>
</body>
</html>


好,下面让我们来分析一下上面的代码

首先,我们通过 <head> 中的 <script> 标签引入三个相关库,它们分别是:

  • react.development.js:React 核心库
  • react-dom.development.js:React DOM 可以根据 React 元素 更新浏览器 DOM
  • babel-standalone:Babel 是一个 JavaScript 编译器,可以用于编译 JSX

接着,我们在 <body> 中的 <script> 标签中写下我们的主逻辑,这里使用的是 JSX 语法

  • const element = <h3>Hello World</h3> 语句声明一个 React 元素
  • ReactDOM.render(element, container) 函数指定将一个 React 元素渲染到浏览器 DOM
    参数 element 是一个 React 元素,参数 container 定义根节点,该节点中的内容都由 React DOM 管理


3、JSX


(1)介绍


上面例子中介绍的 JSX 究竟是什么东西呢?简单来说,它就是一个 JavaScript 的语法拓展

实际上,我们在项目中不一定要使用 JSX,但是 React 更推荐使用 JSX 代替常规的 JavaScript

这是因为 JSX 可以更直观地描述用户界面,它是 声明 React 元素 的最佳方法

好,这里涉及到另外一个概念,React 元素又是什么呢?

React 元素其实就是构成 React 应用的最小单位,用于 描述用户界面

它是一个创建开销极小的 普通对象,React DOM 负责更新浏览器 DOM 来与 React 元素保持一致


(2)例子


不理解吗?没关系,再让我们回顾一下上面使用过的 JSX 语句

它看起来很像 HTML 和 JavaScript 的结合体对吧,这里它声明了一个元素

const element = <h3>Hello World</h3>;

实际上它创建了一个对象

const element = {
    type: 'h3',
    props: {
      children: 'Hello World'
    }
};

并由 React DOM 负责将其更新到浏览器 DOM

<h3>Hello World</h3>


(3)使用


  • 嵌入表达式

我们可以在一个大括号内使用 JavaScript 表达式

const element = (
    <div>
        <h3>Hello</h3>
        <p>Hello { Math.random() < 0.5 ? 'World' : 'React' }</p>
    </div>
);
ReactDOM.render(
    element,
    document.getElementById('app')
);


  • 使用属性

我们可以通过引号,将属性值指定为字符串常量;也能通过大括号,在属性值中插入一个 JavaScript 表达式

在这里,我们约定使用 camelCase(驼峰命名)来定义属性名称

var myStyle = {
    fontSize: 60,
    textAlign: 'center'
};
const element = (
    <h3 style = { myStyle }>Hello World</h3>
)
ReactDOM.render(
    element,
    document.getElementById('app')
);


  • JSX 也是一个表达式

在编译之后,JSX 表达式会被转为普通 JavaScript 函数调用,并且对其取值后得到 JavaScript 对象

也就是说我们可以把 JSX 赋值给变量,将 JSX 作为参数传入函数以及从函数中返回 JSX

function greeting (user) {
    if (user) {
        return <h1>Hello, { user }</h1>;
    } else {
        return <h1>Hello, Stranger</h1>;
    }
}
const element = greeting();
ReactDOM.render(
    element,
    document.getElementById('app')
);



目录
相关文章
|
6月前
|
前端开发 JavaScript 开发者
React:JSX语法入门
React:JSX语法入门
87 0
|
3月前
|
XML JavaScript 前端开发
React Jsx语法入门
【8月更文挑战第13天】React Jsx语法入门
44 4
|
20天前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
52 10
|
1月前
|
XML 前端开发 JavaScript
react学习笔记一:入门级小白到脚手架(create-react-app)开发项目
这篇文章是React的学习笔记,覆盖了从React的基础用法到高级特性,包括组件化、状态管理、生命周期、虚拟DOM等主题,适合React初学者参考。
92 0
react学习笔记一:入门级小白到脚手架(create-react-app)开发项目
|
1月前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门
|
2月前
|
移动开发 前端开发 JavaScript
构建高效跨平台移动应用:React Native入门指南
【8月更文挑战第47天】在移动开发领域,React Native凭借其跨平台特性和高效的开发模式赢得了开发者的青睐。本文将通过一个简易的待办事项应用实例,带领读者快速入门React Native,并展示如何利用JavaScript和React框架构建具有原生性能的应用。我们将探讨环境配置、界面布局、状态管理和数据流,以及如何打包和发布您的应用。准备好,让我们开始React Native之旅!
70 20
|
2月前
|
前端开发 JavaScript
React技术栈-React UI之ant-design使用入门
关于React技术栈中使用ant-design库的入门教程,包括了创建React应用、搭建开发环境、配置按需加载、编写和运行代码的步骤,以及遇到错误的解决方法。
38 2
React技术栈-React UI之ant-design使用入门
|
2月前
|
XML 存储 前端开发
React 基础入门
【9月更文挑战第1天】本文详细介绍了由Facebook开发的JavaScript库React,涵盖环境搭建、基本概念、常见问题及解决方案。首先,通过安装Node.js、npm和Create React App快速搭建开发环境;接着,讲解了JSX、组件(包括函数和类组件)、state和props等核心概念;最后,针对JSX语法错误、state异步更新及props与state混淆等问题提供了具体的解决方法和示例代码,帮助读者更好地理解和应用React。
34 2
|
3月前
|
JavaScript 前端开发 容器
React基础入门之虚拟dom【一】
【8月更文挑战第14天】React基础入门之虚拟dom
39 0
React基础入门之虚拟dom【一】
|
3月前
|
前端开发 人机交互
langchain 入门指南 - ReAct 模式
langchain 入门指南 - ReAct 模式
92 1