【详细讲解React 快速入门教程】

news/2024/4/27 14:06:19/文章来源:https://blog.csdn.net/cz88888888666/article/details/136890433

在这里插入图片描述

🔥博主:程序员不想YY啊🔥
💫CSDN优质创作者,CSDN实力新星,CSDN博客专家💫
🤗点赞🎈收藏⭐再看💫养成习惯
🌈希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步!🌈

React

  • 0. 前言
  • 1. 环境准备
  • 2. 创建一个新的 React 应用
  • 3. 了解项目结构
  • 4. 编辑 App 组件
  • 5. JSX 语法
  • 6. 组件和 Props
  • 7. State 和生命周期
  • 8. 使用 Hooks
  • 9. 测试你的组件
  • 10. 部署你的应用

0. 前言

React是一个用于构建用户界面的 JavaScript 库,由 Facebook 发起并开源,下面是一个简要的 React 快速入门教程,帮助你开始使用这个强大工具:

1. 环境准备

在开始之前,请确保你已经安装了 Node.js 和 npm (Node.js 的包管理器)。你可以在 nodejs.org 上下载安装最新版的 Node.js,它通常包含 npm。

2. 创建一个新的 React 应用

使用 create-react-app 可以快速生成一个新的 React 应用。打开你的终端(命令行工具),然后输入:

npx create-react-app my-react-app
cd my-react-app
npm start

这会创建一个名为 my-react-app 的新目录,其中包含所有的初始文件,并启动一个开发服务器,然后在浏览器中打开你的新应用。

3. 了解项目结构

my-react-app 文件夹中,你会看到以下重要的文件和文件夹:

  • 💫public/index.html: 这是你的应用的主 HTML 文件。
  • 💫src/index.js: 这是 React 应用的入口文件。
  • 💫src/App.js: 这是一个基本的组件文件,包含了应用的初始内容。

4. 编辑 App 组件

接下来,打开 src/App.js 文件。这里定义了一个名为 App 的React 组件,它返回一段能够被渲染的 JSX 代码。

function App() {return (<div className="App"><header className="App-header"><p>Edit <code>src/App.js</code> and save to reload.</p></header></div>);
}export default App;

可以修改上面的 App 组件,例如,更改段落 <p> 中的文字并保存文件,你的浏览器会自动刷新并显示新的内容。

5. JSX 语法

JSX 是一种看起来很像 HTML 的 JavaScript 语法扩展。与 React 一起使用时,JSX 可以让你更方便地描述 UI 应该呈现出什么样子。

6. 组件和 Props

组件是 React 应用的核心概念之一,它们让你能够拆分 UI 成独立的、可复用的部分,并且可以独立地考虑每个部分。

Props 是组件的参数。你可以这样创建一个带有 props 的组件:

function Welcome(props) {return <h1>Hello, {props.name}</h1>;
}

并在其他组件中使用它:

<Welcome name="Sara" />

7. State 和生命周期

State 是 React 组件的另一个重要概念,State 允许 React 组件在不需要重新加载页面的情况下,响应用户输入、网络响应和其他事件。

使用 State,你需要将函数组件转换为类组件或使用 Hooks。一个类组件例子:

class Clock extends React.Component {constructor(props) {super(props);this.state = {date: new Date()};}componentDidMount() {this.timerID = setInterval(() => this.tick(),1000);}componentWillUnmount() {clearInterval(this.timerID);}tick() {this.setState({date: new Date()});}render() {return (<div><h1>Hello, world!</h1><h2>It is {this.state.date.toLocaleTimeString()}.</h2></div>);}
}

8. 使用 Hooks

从 React 16.8 开始,你可以在不编写类的情况下使用 state 和其他 React 特性,这得益于引入了 Hooks。

import React, { useState, useEffect } from 'react';function Clock() {const [date, setDate] = useState(new Date());useEffect(() => {const timerID = setInterval(() => tick(), 1000);return () => {clearInterval(timerID);};}, []);function tick() {setDate(new Date());}return (<div><h1>Hello, world!</h1><h2>It is {date.toLocaleTimeString()}.</h2></div>);
}

9. 测试你的组件

你的 React 应用可以通过各种方式来测试,一种流行的方法是使用 Jest 框架进行测试,它通常与 React 应用一起安装。

10. 部署你的应用

一旦你的应用做好了发布的准备,你可以运行 npm run build 来构建一个用于生产的版本,这会在你的项目目录下创建一个 build 文件夹,其中包含了用于部署的文件。

进一步学习 React,建议阅读 React 官方文档,用以深入理解这个库以及它的高级功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1026448.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python中的变量与常量

变量&#xff1a;在程序运行过程中&#xff0c;值会发生变化的量&#xff0c; 常量&#xff1a;在程序运行过程中&#xff0c;值不会发生变化的量。 无论是变量还是常量&#xff0c;在创建时都会在内存中开辟一块空间&#xff0c;用于保存它的值。 Python 中的变量不需要声明…

数据链路层协议之以太网协议

以太网协议是通过网线/光纤进行通信。这和通过wifi&#xff08;无线&#xff09;&#xff0c;通过移动流量&#xff08;4G/5G&#xff09;通信不一样。以太网&#xff0c;横跨数据链路层和物理层 一.以太网数据帧格式 包括了帧头载荷(IP数据报)帧尾。 1.目的地址 源地址 分别…

初探Flink集群【持续更新】

周末下雨&#xff0c;倒杯茶&#xff0c;在家练习Flink相关。 开发工具&#xff1a;IntelliJ Idea 第一步、创建项目 打开Idea&#xff0c;新建Maven项目&#xff0c;包和项目命名 在pom.xml 文件中添加依赖 <properties><flink.version>1.13.0</flink.vers…

【Redis主从架构。主从工作原理psync、bgsave、部分数据复制、主从复制风暴解决方案】【Redis哨兵高可用架构。sentinel】

Redis主从架构 Redis主从工作原理数据部分复制 Redis哨兵高可用架构client连接哨兵规则主节点挂了&#xff0c;集群从新选择主节点&#xff0c;并且同步给sentinel 转自图灵课堂 redis主从架构搭建&#xff0c;配置从节点步骤&#xff1a; 1、复制一份redis.conf文件2、将相关…

六大原则与设计模式

1. 六大原则 1.1 单一原则&#xff08;SRP&#xff09; 应该有且仅有一个原因引起类的变更 1. 复杂性降低&#xff0c;可读性高&#xff0c;可维护性提高 2. 变更引起的风险降低&#xff0c;变更是必不可少的&#xff0c;如果接口的单一职责做得好&#xff0c;一个接口修改…

基于单片机多功能智能台灯设计

**单片机设计介绍&#xff0c;基于单片机多功能智能台灯设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的多功能智能台灯设计是一个集硬件与软件于一体的综合性项目&#xff0c;旨在为用户提供更加便捷、舒适和节…

如何借用 NTFS 交换数据流 实现隐藏文件?如何使用【文件包含】PHP伪协议?不同操作系统如何实现文件隐藏和木马伪装?

如何借用 NTFS 交换数据流 实现隐藏文件?如何使用【文件包含】PHP伪协议?不同操作系统如何实现文件隐藏和木马伪装? NTFS交换数据流(Alternate Data Streams, ADS)是NTFS文件系统特有的一种功能,它允许在同一个文件名下存储多个数据流。除了默认的数据流(通常用于存储文…

day3-QT

1>使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函。将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0c;密码是…

Java SPI 机制

SPI 机制的定义 在Java中&#xff0c;SPI&#xff08;Service Provider Interface&#xff09;机制是一种用于实现软件组件之间松耦合的方式。它允许在应用程序中定义服务接口&#xff0c;并通过在类路径中发现和加载提供该服务的实现来扩展应用程序功能。 SPI 机制通常涉及三…

DBA工作经验总结

目录 一、MySQL8.0创建一张规范的表 1.表、字段全采用小写 2.int类型不再加上最大显示宽度 3.每张表必须显式定义自增int类型的主键 4.建表时增加comment来描述字段和表的含义&#xff08;防止以后忘记&#xff09; 5.建议包含create_time和update_time字段 6.核心业务增…

asp程序之“会话Cookie中缺少HttpOnly属性”

先在URL重新模块添加服务器变量&#xff1a; 添加变量名&#xff1a;Add HttpOnly 网站根目录web.config添加如下规则&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <configuration><system.webServer><rewrite><out…

第1篇:Mysql数据库表结构导出字段到Excel(一个sheet中)

package com.xx.util;import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook;import java.sql.*; import java.io.*;public class DatabaseToExcel {public static void main(String[] args) throws Exception {// 数据库连接配置String u…

SQLyog图形化工具安装教程

日常开发中&#xff0c;当需要输入的命令较长时&#xff0c;使用命令行客户端工具输入命令很不方便&#xff0c;此时可以使用相对方便的图形化管理工具来操作MySQL&#xff0c;从而提高效率。 SQLyog的特点 1.基于MySQL程序接口开发 2.方便快捷的数据库同步与数据库结构同步 …

【检索稳定|火爆征稿中】2024年企业管理与数字化经济国际学术会议(ICBMDE 2024)

【检索稳定|火爆征稿中】2024年企业管理与数字化经济国际学术会议&#xff08;ICBMDE 2024&#xff09; 2024 International Conference on Business Management and Digital Economy&#xff08;ICBMDE 2024&#xff09; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…

【算法刷题】链表笔试题解析(1)

一、链表分割 题目描述&#xff1a; 链接&#xff1a;链表分割 题目分析&#xff1a; 这题直接处理并不好做&#xff0c;我们可以构建前后两个链表&#xff0c;将小于x值的结点放在链表a内&#xff0c;将其它结点放在链表b内&#xff0c;这样将原链表遍历完后&#xff0c;原链…

基于springboot+vue+Mysql的闲一品交易平台

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

缓存菜品、套餐、购物车相关功能

一、缓存菜品 通过缓存的方式提高查询性能 1.1问题说明 大量的用户访问导致数据库访问压力增大&#xff0c;造成系统响应慢&#xff0c;用户体验差 1.2 实现思路 优先查询缓存&#xff0c;如果缓存没有再去查询数据库&#xff0c;然后载入缓存 将菜品集合序列化后缓存入red…

如何利用nginx在windows系统上搭建一个文件服务器

1&#xff1a;先下载windows版的nginx 官网 http://nginx.org/ 下载完后注意端口号&#xff08;默认端口号为&#xff1a;80&#xff09;是否被占用 启动nginx服务 地址为localhost的 如果出现 Welcome to nginx 就说明启动成功 2&#xff1a;然后进入conf文件里修改配置 …

题目:摆花(蓝桥OJ 0389)

问题描述&#xff1a; 题解&#xff1a; #include <bits/stdc.h> using namespace std; using ll long long; const int N 105; const ll p 1e6 7; ll a[N], dp[N][N];int main() {int n, m; cin >> n >> m;for(int i 1; i < n; i)cin >> a[i…

EdgeGallery开发指南

API接口 简介 EdgeGallery支持第三方业务系统通过北向接口网关调用EdgeGallery的业务接口。调用流程如下图所示&#xff08;融合前端edgegallery-fe包含融合前端界面以及北向接口网关功能&#xff0c;通过浏览器访问时打开的是融合前端的界面&#xff0c;通过IP:Port/urlPref…