当前位置: 首页 > news >正文

React知识点梳理

注:纯手打,如有错误欢迎评论区交流!
转载请注明出处:https://blog.csdn.net/testleaf/article/details/148403372
编写此文是为了更好地学习前端知识,如果损害了有关人的利益,请联系删除!
本文章将不定时更新,敬请期待!!!
欢迎点赞、收藏、转发、关注,多谢!!!

目录

    • 一、React开发环境搭建
      • 1、必备工具安装
      • 2、创建React项目​
      • 3、项目目录结构(CRA生成)
      • 4、关键依赖说明​
      • 5、开发与构建命令​
      • 6、常见问题解决
      • 7、创建React项目【TypeScript版】
    • 二、JSX基础
      • 1、JSX 是什么?​

一、React开发环境搭建

1、必备工具安装

Node.js:
作用:提供npm/yarn包管理工具和运行JavaScript的环境
下载:Node.js官网
验证安装:

node -v  # 检查Node版本
npm -v   # 检查npm版本

代码编辑器:
推荐:VS Code(安装插件:ES7+ React/Redux、Prettier、ESLint)

2、创建React项目​

方式1:使用Create React App(CRA,官方推荐)​

npx create-react-app my-app  # 创建项目
cd my-app                   # 进入项目目录
npm start                   # 启动开发服务器

特点​​:
零配置,内置Babel、Webpack、ESLint等工具
适合新手和快速原型开发
方式2:使用Vite(更快的现代构建工具)​

npm create vite@latest my-react-app --template react
cd my-react-app
npm install
npm run dev

优势​​:启动和热更新速度极快,适合大型项目。
方式3:手动配置Webpack(进阶)​
适合需要深度定制化的项目,需自行配置Babel、Loader等(不推荐新手)。

3、项目目录结构(CRA生成)

my-app/
├── node_modules/    # 依赖库
├── public/          # 静态资源(HTML模板、图片等)
│   └── index.html   # 主HTML文件
├── src/             # 源码目录
│   ├── App.js       # 根组件
│   ├── index.js     # 入口文件
│   └── styles/      # CSS文件
├── package.json     # 项目配置和依赖
└── README.md

4、关键依赖说明​

  • ​​react​​ & ​​react-dom​​:React核心库和DOM渲染库
  • ​​react-scripts​​(CRA):封装了Webpack/Babel配置
  • ​​其他常用库​​:
    • 路由:react-router-dom
    • 状态管理:redux / zustand
    • UI组件库:Material-UI / Ant Design

5、开发与构建命令​

命令作用
npm start启动开发服务器(默认3000端口)
npm run build生成生产环境优化代码(在build/目录)
npm test运行Jest测试
npm run eject暴露CRA配置(不可逆操作)

6、常见问题解决

端口冲突​​:
修改启动端口

PORT=3001 npm start

依赖安装慢​​:
查看当前 npm 镜像源​

npm config get registry

检查所有 npm 配置(包括镜像源、全局安装路径等)

npm config list

切换npm镜像源

npm config set registry https://registry.npmmirror.com

恢复为官方源​​

npm config set registry https://registry.npmjs.org

临时使用镜像源(单次安装)

npm install 包名 --registry=https://registry.npmmirror.com

常见镜像源地址​

镜像源名称地址
npm官方源https://registry.npmjs.org/
淘宝镜像https://registry.npmmirror.com/
腾讯云镜像https://mirrors.cloud.tencent.com/npm/

React版本升级​​:

npm install react@latest react-dom@latest

7、创建React项目【TypeScript版】

方法 1:使用 create-react-app(CRA,官方推荐)​
创建项目:

npx create-react-app my-app --template typescript

或(旧版 CRA):

npx create-react-app my-app --typescript

项目结构:

my-app/
├── src/
│   ├── App.tsx       # TypeScript 组件
│   ├── index.tsx     # TypeScript 入口文件
│   └── react-app-env.d.ts  # React 类型声明
├── tsconfig.json     # TypeScript 配置
└── package.json

启动项目:

cd my-app
npm start

访问 http://localhost:3000 查看运行效果。
方法 2:使用 Vite(推荐,速度更快)
创建项目​:

npm create vite@latest my-react-ts-app --template react-ts

或使用 yarn:

yarn create vite my-react-ts-app --template react-ts

项目结构:

my-react-ts-app/
├── src/
│   ├── App.tsx
│   ├── main.tsx      # 入口文件
│   └── vite-env.d.ts # Vite 类型声明
├── tsconfig.json
├── vite.config.ts    # Vite 配置
└── package.json

安装依赖并启动:

cd my-react-ts-app
npm install
npm run dev

访问 http://localhost:5173(Vite 默认端口)。
方法 3:手动配置(Webpack + TypeScript)​​
适用于需要深度定制的项目(不推荐新手)。
初始化项目​:

mkdir my-react-ts-project
cd my-react-ts-project
npm init -y

安装依赖​:

npm install react react-dom
npm install --save-dev typescript @types/react @types/react-dom
npm install --save-dev webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react @babel/preset-typescript

配置 tsconfig.json:

{"compilerOptions": {"target": "ES6","module": "ESNext","jsx": "react-jsx","strict": true,"esModuleInterop": true,"skipLibCheck": true},"include": ["src/**/*"]
}

配置 webpack.config.js:

const path = require("path");module.exports = {entry: "./src/index.tsx",output: {filename: "bundle.js",path: path.resolve(__dirname, "dist"),},resolve: {extensions: [".tsx", ".ts", ".js"],},module: {rules: [{test: /\.(ts|tsx)$/,exclude: /node_modules/,use: "babel-loader",},],},devServer: {static: path.join(__dirname, "dist"),port: 3000,},
};

创建 src/index.tsx:

import React from "react";
import ReactDOM from "react-dom/client";const App = () => <h1>Hello, React + TypeScript!</h1>;ReactDOM.createRoot(document.getElementById("root")!).render(<App />);

启动开发服务器​:

npx webpack serve --mode development

二、JSX基础

JSX(JavaScript XML)是 React 的核心语法,它允许在 JavaScript 中编写类似 HTML 的代码,用于定义 React 组件的结构。

1、JSX 是什么?​

JSX = JavaScript + XML​​,是一种语法扩展。
它会被 Babel 转译为 React.createElement() 调用,最终生成 JavaScript 对象(虚拟 DOM)。
​​示例​​:

const element = <h1>Hello, JSX!</h1>;

编译后:

const element = React.createElement("h1", null, "Hello, JSX!");
http://www.lqws.cn/news/95851.html

相关文章:

  • pip安装python第三方库报错
  • ‌CDGP|数据治理的低效性:企业AI落地的另一大挑战
  • LeetCode 高频 SQL 50 题(基础版) 之 【高级查询和连接】· 下
  • chromedriver 下载失败
  • 使用Redis的四个常见问题及其解决方案
  • backend 服务尝试连接 qdrant 容器,但失败了,返回 502 Bad Gateway 问题排查
  • LeetCode 139. 单词拆分(Word Break) - 动态规划深度解析
  • 堆叠弹窗 VS 队列弹窗之争
  • h5的aliplayer-min.js 加密视频会走到debugger
  • 手机上网可以固定ip地址吗?详细解析
  • Redis 缓存问题及其解决方案
  • hive聚合函数多行合并
  • 不动产登记区块链系统(Vue3 + Go + Gin + Hyperledger Fabric)
  • 《前端面试题:CSS对浏览器兼容性》
  • 酷狗概念版4.1.6深度体验:探索音乐新境界的便捷之选
  • 【C++11】折叠引用和完美转发
  • 防火墙在OSI模型中的层级工作(2025)
  • 【Node.js 深度解析】npm install 遭遇:npm ERR! code CERT_HAS_EXPIRED 错误的终极解决方案
  • PCI DSS培训记录
  • graphviz, dot, Error: lost rA sA edge; 独立的模块
  • Spring Boot + MyBatis-Plus 读写分离与多 Slave 负载均衡示例
  • 从0开始学习R语言--Day16--倾向得分匹配
  • 鸿蒙UI开发——组件的自适应拉伸
  • 后端解决跨域问题的三种方案:注解配置 vs 全局配置 vs 过滤器配置(附完整代码详解)
  • Hadoop HDFS 体系结构与文件读写流程剖析
  • 解决 idea提示`SQL dialect is not configured` 问题
  • 学习threejs,交互式神经网络可视化
  • RAG入门 - Reader(2)
  • Web3如何重塑数据隐私的未来
  • JsonCpp 库如何集成到Visual studio