react install

react 安装

React 是一个用于构建用户界面的 JavaScript 库。以下是安装 React 的步骤:

使用 Create React App

Create React App 是一个官方支持的命令行工具,用于快速搭建 React 应用。

  1. 安装 Node.js 和 npm

    确保你的计算机上安装了 Node.js 和 npm。可以通过以下命令检查是否已安装:

    node -v
    npm -v
    

    如果未安装,可以到 Node.js 官网 下载并安装。

  2. 安装 Create React App 工具

    打开终端或命令提示符,运行以下命令:

    npm install -g create-react-app
    

    对于创建新的 React 应用,现在推荐使用以下几种更现代的方案:

    1. Vite(推荐)
    npm create vite@latest my-react-app -- --template react  
    
    1. Next.js(如果需要服务端渲染)
    npx create-next-app@latest my-react-app  
    

    这些方案比 create-react-app 有以下优势:

    • 更快的开发服务器启动时间
    • 更快的热模块替换(HMR)
    • 更小的安装包体积
    • 更现代的开发体验
  3. 创建一个新的 React 应用

    使用 Create React App 创建一个新的项目,把 my-app 替换为你的项目名称:

    create-react-app my-react-appnpx create-react-app@latest my-react-app
    
  4. 启动开发服务器

    进入项目目录并启动开发服务器:

    cd my-react-app
    npm start
    

    这将自动打开浏览器并访问 http://localhost:3000,你会看到默认的 React 页面。

手动安装 React

如果你想手动设置 React 开发环境,可以按照以下步骤操作:

  1. 创建项目目录并初始化 npm

    mkdir my-react-app
    cd my-react-app
    npm init -y
    
  2. 安装 React 和 ReactDOM

    npm install react react-dom
    
  3. 安装开发服务器和 Babel

    为支持 JSX 和现代 JavaScript 特性,你需要安装 Babel 和一个开发服务器:

    npm install @babel/preset-react @babel/preset-env babel-loader webpack webpack-cli webpack-dev-server
    
  4. 配置 Webpack 和 Babel

    创建 Webpack 和 Babel 配置文件(webpack.config.js.babelrc),以处理 JavaScript 和 JSX 文件。

    示例内容可以在网上找到,通常设置包含输入输出路径配置,插件,加载器设置等。

  5. 创建基础文件结构

    创建 src 目录并添加入口文件,比如 index.jsindex.html。在 index.js 中编写 React 代码并在 index.html 中提供一个容器,如 <div id="root"></div> 1 2

  6. 运行开发服务器

    修改 package.json 中的 scripts 部分,添加启动命令:

    "scripts": {"start": "webpack serve --mode development"
    }
    

    然后运行:

    npm start
    

以上是 React 安装的基本步骤。根据需要,安装和配置其他包和工具以补充你的开发环境,例如 Redux, React Router 等。

相关js 库

  • react.js:React 核心库。
  • react-dom.js:提供操作 DOM 的react 扩展库。
  • babel.min.js:解析JSX 语法代码转为JS 代码的库。

在 React 开发中,有许多常用的 JavaScript 库可以帮助你更高效地构建应用。以下是一些流行的相关库:

  1. 状态管理

    • Redux: 复杂应用的状态管理
    • MobX: 简单、可扩展的状态管理
    • Recoil: Facebook 开发的状态管理库
    • Zustand: 轻量级状态管理库
  2. 路由

    • React Router: 最常用的 React 路由库
    • Reach Router: 轻量级的路由库
  3. 表单处理

    • Formik: 简化表单处理和验证
    • React Hook Form: 高性能、灵活的表单库
    • Final Form: 高性能的表单状态管理库
  4. UI 组件库

    • Material-UI: 实现 Google Material Design 的 React 组件
    • Ant Design: 企业级 UI 设计语言和 React 组件库
    • Chakra UI: 简单、模块化的组件库
    • React Bootstrap: Bootstrap 的 React 实现
    • Styled-components:使用现代 JavaScript 为组件定义样式的工具。
    • Emotion:一种可实现 CSS-in-JS 的库
  5. 数据获取

    • Axios: 基于 Promise 的 HTTP 客户端
    • SWR: 用于数据获取的 React Hooks 库
    • React Query: 强大的异步状态管理和数据获取库
  6. 动画

    • React Spring: 弹簧物理学动画库
    • Framer Motion: 生产就绪的动画和手势库
    • React Transition Group: 动画过渡组件
  7. 图表

    • Recharts: 基于 D3 的图表库
    • Victory: 模块化的图表库
    • React-Vis: 数据可视化组件
  8. 工具类

    • Lodash: 提供各种实用函数的工具库
    • Moment.js 或 Day.js: 日期处理库
    • Immer: 简化不可变状态更新
  9. 测试

    • Jest: JavaScript 测试框架
    • React Testing Library: React 组件测试工具
    • Enzyme: React 组件测试工具(较老但仍在使用)
  10. 开发工具

    • ESLint: JavaScript 代码检查工具
    • Prettier: 代码格式化工具
    • Storybook: UI 组件开发环境
  11. 国际化

    • react-i18next: 国际化框架
    • react-intl: React 的国际化库
  12. 性能优化

    • React.memo: React 内置的性能优化 API
    • useCallback 和 useMemo: React Hooks 用于性能优化
  13. 服务端渲染

    • Next.js: React 的服务端渲染框架
    • Gatsby: 静态站点生成器

这些库可以根据项目需求选择使用。在开始一个新项目时,建议仔细评估需求,选择适合的库,避免过度使用导致项目变得臃肿。同时,要注意保持依赖的版本更新,以获得最新的功能和安全修复。

在开发 React 应用程序时,经常会使用一些流行的 JavaScript 库和工具来增强功能、管理状态、路由和进行 API 操作等。这些是一些常见的 React 相关 JavaScript 库和工具:

  1. React Router

    • 用于在 React 应用中实现客户端路由。
    • 提供了动态路由、嵌套路由、路径参数等功能。
    • 官网: React Router
  2. Redux

    • 一种状态管理工具,用于管理复杂应用的状态。
    • 通过使用 actions 和 reducers 来实现全局状态管理。
    • Redux Toolkit 是官方推荐的 Redux 配套工具,提供更简单的 API 和开发体验。
    • 官网: Redux
  3. Axios

    • 基于 Promise 的 HTTP 客户端,用于执行异步 HTTP 请求(例如 GET, POST 等)。
    • 支持取消请求、请求和响应拦截器。
    • 官网: Axios GitHub
  4. styled-components

    • 允许在 React 应用中使用 CSS-in-JS 的方式编写样式。
    • 提供了更好的样式组件化和可复用性。
    • 官网: styled-components
  5. Formik

    • 用于构建和管理表单的库。
    • 简化了表单验证、处理和提交的流程。
    • 官网: Formik
  6. Yup

    • JavaScript 对象模式验证库,通常与 Formik 一起使用以实现表单验证。
    • 提供了声明式和可组合的验证规则。
    • 官网: Yup GitHub
  7. React Query

    • 提供数据获取、缓存、同步、更新和服务器状态管理功能。
    • 支持复杂的异步数据操作,适用于 RESTful 和 GraphQL。
    • 官网: React Query
  8. React Hook Form

    • 提供高性能、灵活和可扩展的表单管理。
    • 轻量级并支持验证、错误处理。
    • 官网: React Hook Form
  9. MobX

    • 另一种状态管理工具,使用响应式编程模型。
    • 提供更易于使用和直观的状态管理方式。
    • 官网: MobX
  10. Material-UI

    • 基于 Material Design 的 React UI 组件库。
    • 提供了丰富的、开箱即用的 UI 组件库。
    • 官网: Material-UI

这些库和工具可以根据项目需求和个人喜好选择使用,帮助你简化开发流程,提高代码的可维护性和扩展性。

在这里插入图片描述

参考:


  1. React.Component ↩︎

  2. React.Component ↩︎

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

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

相关文章

Ubuntu如何安装redis服务?

环境&#xff1a; Ubuntu22.04 WSL2 问题描述&#xff1a; 如何安装redis服务&#xff1f; 解决方案&#xff1a; 1.在 Linux 上&#xff08;如 Ubuntu/Debian&#xff09;安装 1.通过包管理工具安装 Redis 服务器&#xff1a; sudo apt update sudo apt install redis…

element el-table合并单元格

合并 表格el-table添加方法:span-method"” <el-table v-loading"listLoading" :data"SHlist" ref"tableList" element-loading-text"Loading" border fit highlight-current-row :header-cell-style"headClass" …

【BUUCTF】[GXYCTF2019]BabySQli

进入页面如下 尝试万能密码注入 显示这个&#xff08;qyq&#xff09; 用burp suite抓包试试 发现注释处是某种编码像是base编码格式 MMZFM422K5HDASKDN5TVU3SKOZRFGQRRMMZFM6KJJBSG6WSYJJWESSCWPJNFQSTVLFLTC3CJIQYGOSTZKJ2VSVZRNRFHOPJ5 可以使用下面这个网页在线工具很方便…

R语言基础| 回归分析

写在前面 R语言拥有丰富的数据处理、统计分析和机器学习工具包&#xff0c;涵盖了从简单的描述统计到复杂的模型建立的各个方面。再加上数据的处理可以完美的衔接后续的可视化&#xff0c;这使得它成为处理各种类型和规模的数据集的理想选择。回归分析是统计学中一种用于探究自…

高并发内存池_CentralCache(中心缓存)和PageCache(页缓存)申请内存的设计

三、CentralCache&#xff08;中心缓存&#xff09;_内存设计 &#xff08;一&#xff09;Span的创建 // 页编号类型&#xff0c;32位下是4byte类型&#xff0c;64位下是8byte类型 // #ifdef _WIN64 typedef unsigned long long PageID; #else _WIN32 typedef size_t PageI…

【云网】云网络基础概念(华为云)

云网络基础概念&#xff08;华为云&#xff09; 一、虚拟网络 1、VPC概念 华为云提供的虚拟网络环境的基础单元是虚拟私有云&#xff08;Virtual Private Cloud&#xff09;。 VPC和传统的物理三层网络类似,也包括路由器、子网、子网网关、IP地址等传统概念。 典型组网逻辑…

WPF2-在xaml为对象的属性赋值

1. AttributeValue方式 1.1. 简单属性赋值1.2. 对象属性赋值 2. 属性标签的方式给属性赋值3. 标签扩展 (Markup Extensions) 3.1. StaticResource3.2. Binding 3.2.1. 普通 Binding3.2.2. ElementName Binding3.2.3. RelativeSource Binding3.2.4. StaticResource Binding (带参…

【经验分享】ARM Linux-RT内核实时系统性能评估工具

【经验分享】ARM Linux-RT内核实时系统性能评估工具 前言下载和编译方法常用工具介绍总结 前言 最近在研究Linux-RT实时系统&#xff0c;介绍下常用的实时系统的性能评估工具。 下载和编译方法 用git下载 git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.…

基于 Spring Boot 和 Vue.js 的全栈购物平台开发实践

在现代 Web 开发中&#xff0c;前后端分离的架构已经成为主流。本文将分享如何使用 Spring Boot 和 Vue.js构建一个全栈购物平台&#xff0c;涵盖从后端 API 开发到前端页面实现的完整流程。 1. 技术栈介绍 后端技术栈 JDK 1.8&#xff1a;稳定且广泛使用的 Java 版本。 Spring…

ipad和macbook同步zotero文献附件失败的解决办法

背景&#xff1a;我所有的文献及其附件pdf都是在台式机&#xff08;windows系统&#xff09;&#xff0c;想要把这些文献同步到云上&#xff0c;然后再从云上同步到平板和其他笔记本电脑比如macbook。文献同步虽已成功&#xff0c;但文献附件都无法打开。 平板报错如下&#xf…

qml OpacityMask详解

1、概述 OpacityMask是QML&#xff08;Qt Meta-Object Language&#xff09;中的一种图形效果&#xff0c;它使用另一个项目&#xff08;通常是一个图像或图形项&#xff09;作为遮罩来控制源项目的透明度。这种效果允许开发者通过遮罩的alpha通道来精确地控制源项目中哪些部分…

(3)STM32 USB设备开发-USB存储设备

例程&#xff1a;STM32USBdevice: 基于STM32的USB设备例子程序 - Gitee.com 本篇为使用芯片内部flash作为USB存储设备的例程&#xff0c;没有知识&#xff0c;全是实操&#xff0c;按照步骤就能获得一个STM32的U盘。本例子是在野火F103MINI开发板上验证的&#xff0c;如果代码…

雷电9最新版安装Magisk+LSPosd(新手速通)

大家好啊&#xff01;我是NiJiMingCheng 我的博客&#xff1a;NiJiMingCheng 在安卓系统的定制与拓展过程中&#xff0c;获取 ROOT 权限以及安装各类框架是进阶玩家常用的操作&#xff0c;这可以帮助我们实现更多系统层面的个性化功能。今天&#xff0c;我将为大家详细介绍如何…

2025 OWASP十大智能合约漏洞

随着去中心化金融&#xff08;DeFi&#xff09;和区块链技术的不断发展&#xff0c;智能合约安全的重要性愈发凸显。在此背景下&#xff0c;开放网络应用安全项目&#xff08;OWASP&#xff09;发布了备受期待的《2025年智能合约十大漏洞》报告。 这份最新报告反映了不断演变的…

55.【5】BUUCTF WEB NCTF2019 sqli

进入靶场 输入admin 123 过滤的这么严格&#xff1f;&#xff1f;&#xff1f; 过滤很严格&#xff0c;此时要么爆破&#xff0c;要么扫描 直接扫描&#xff0c;得到robots.txt 访问后又得到hint.txt 继续访问 图片内容如下 $black_list "/limit|by|substr|mid|,|admi…

map和set的使用(一)详解

文章目录 序列式容器和关联式容器map和set的介绍set构造和迭代器遍历和insertfinderaseswapclearcountlower_bound和upper_boundmultiset和set的对比 set的二个题目题目解析算法原理代码介绍一个找差集的算法同步算法题目解析算法原理代码 map构造遍历initiaizer_list 序列式容…

初始SpringBoot:详解特性和结构

??JAVA码农探花&#xff1a; ?? 推荐专栏&#xff1a;《SSM笔记》《SpringBoot笔记》 ??学无止境&#xff0c;不骄不躁&#xff0c;知行合一 目录 前言 一、SpringBoot项目结构 1.启动类的位置 2.pom文件 start parent 打包 二、依赖管理特性 三、自动配置特性…

服务器日志自动上传到阿里云OSS备份

背景 公司服务器磁盘空间有限&#xff0c;只能存近15天日志&#xff0c;但是有时需要查看几个月前的日志&#xff0c;需要将服务器日志定时备份到某个地方&#xff0c;需要查询的时候有地方可查。 针对这个问题&#xff0c;想到3个解决方法&#xff1a; 1、买一个配置比较低…

【HarmonyOS NEXT】华为分享-碰一碰开发分享

关键词&#xff1a;鸿蒙、碰一碰、systemShare、harmonyShare、Share Kit 华为分享新推出碰一碰分享&#xff0c;支持用户通过手机碰一碰发起跨端分享&#xff0c;可实现传输图片、共享wifi等。我们只需调用系统 api 传入所需参数拉起对应分享卡片模板即可&#xff0c;无需对 U…

C语言——文件操作

目录 前言 一什么是文件 1程序文件 2数据文件 3文件名 二文件的打开与关闭 1文件指针 2fopen 3fclose 三文件的读与写 1文件的顺序读写 1.1fputc fgetc 1.2fputs fgets 1.3fprintf fscanf 1.4fwrite fread 1.5文本文件和二进制文件 2文件的任意读写 1fseek …