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.mzph.cn/web/66626.shtml

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

相关文章

Android系统开发(二十):字体活起来,安卓自定义字体改造指南

为什么要写这篇文章&#xff1f; 你是否厌倦了千篇一律的安卓默认字体&#xff1f;想让你的设备从“乏味的配角”变成“炫酷的主角”&#xff1f;好消息&#xff01;从Android 12到Android 15&#xff0c;自定义字体变得更简单、更强大。尤其是表情字体的更新&#xff0c;不仅…

将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch(3.纯python的实惠版)

前情&#xff1a; 将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch&#xff08;1.标准版&#xff09;-CSDN博客 将 AzureBlob 的日志通过 Azure Event Hubs 发给 Elasticsearch&#xff08;2.换掉付费的Event Hubs&#xff09;-CSDN博客 python脚本实现 厉害的…

python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖

【1】引言 前序学习了使用numpy创建单通道的灰色图像&#xff0c;并对灰色图像的局部进行了颜色更改&#xff0c;相关链接为&#xff1a; python学opencv|读取图像&#xff08;九&#xff09;用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客 之后又学习了使用numpy创…

Linux系统常用指令

查找文件 find / -name "<文件名>" 2>/dev/null //遍历系统查找指定文件名文件ls -l | grep "<文件名>" //列出当前目录下有关文件名的文件find -name sw_sfp_alarm_cfg.xml //查找文件名对应路径 切换目录 编辑文件 vi <文件…

【Unity】ScrollViewContent适配问题(Contentsizefilter不刷新、ContentSizeFilter失效问题)

最近做了一个项目&#xff0c;菜单栏读取数据后自动生成&#xff0c;结果用到了双重布局 父物体 尝试了很多方式&#xff0c;也看过很多大佬的文章&#xff0c;后来自己琢磨了一下&#xff0c;当子物体组件自动生成之后&#xff0c;使用以下以下代码效果会好一些&#xff1a; …

AI辅助医学统计分析APP

AI辅助医学统计分析APP 医学统计分析的困难点在于开始阶段分析的规划和得出分析结果之后分析结果的解释&#xff0c;前者之所以困难是因为分析方法繁多又有不同的使用条件&#xff0c;后者则是因为结果中术语较多&#xff0c;且各种分析方法术语又有不同&#xff0c;非统计专业…

[STM32 HAL库]串口中断编程思路

一、前言 最近在准备蓝桥杯比赛&#xff08;嵌入式赛道&#xff09;&#xff0c;研究了以下串口空闲中断DMA接收不定长的数据&#xff0c;感觉这个方法的接收效率很高&#xff0c;十分好用。方法配置都成功了&#xff0c;但是有一个点需要进行考虑&#xff0c;就是一般我们需要…

AutoSar架构学习笔记

1.AUTOSAR&#xff08;Automotive Open System Architecture&#xff0c;汽车开放系统架构&#xff09;是一个针对汽车行业的软件架构标准&#xff0c;旨在提升汽车电子系统的模块化、可扩展性、可重用性和互操作性。AUTOSAR的目标是为汽车电子控制单元&#xff08;ECU&#xf…

算法竞赛之差分进阶——等差数列差分 python

目录 前置知识进入正题实战演练 前置知识 给定区间 [ l, r ]&#xff0c;让我们把数组中的[ l, r ] 区间中的每一个数加上c,即 a[ l ] c , a[ l 1 ] c , a[ l 2] c , a[ r ] c; 怎么做&#xff1f;很简单&#xff0c;差分一下即可 还不会的小伙伴点此进入学习 进入正题 …

TDengine 做 Apache SuperSet 数据源

‌Apache Superset‌ 是一个现代的企业级商业智能&#xff08;BI&#xff09;Web 应用程序&#xff0c;主要用于数据探索和可视化。它由 Apache 软件基金会支持&#xff0c;是一个开源项目&#xff0c;它拥有活跃的社区和丰富的生态系统。Apache Superset 提供了直观的用户界面…

金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践

导读&#xff1a;中信银行信用卡中心每日新增日志数据 140 亿条&#xff08;80TB&#xff09;&#xff0c;全量归档日志量超 40PB&#xff0c;早期基于 Elasticsearch 构建的日志云平台&#xff0c;面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此…

虚幻商城 Fab 免费资产自动化入库

文章目录 一、背景二、实现效果展示三、实现自动化入库一、背景 上一次写了个这篇文章 虚幻商城 Quixel 免费资产一键入库,根据这个构想,便决定将范围扩大,使 Fab 商城的所有的免费资产自动化入库,是所有!所有! 上一篇文章是根据下图这部分资产一键入库: 而这篇文章则…

游戏为什么失败?回顾某平庸游戏

1、上周玩了一个老鼠为主角的游戏&#xff0c;某平台喜1送的&#xff0c; 下载了很久而一直没空玩&#xff0c;大约1G&#xff0c;为了清硬盘空间而玩。 也是为了拔掉心中的一根刺&#xff0c;下载了而老是不玩总感觉不舒服。 2、老鼠造型比较写实&#xff0c;看上去就有些讨…

亲测有效!如何快速实现 PostgreSQL 数据迁移到 时序数据库TDengine

小T导读&#xff1a;本篇文章是“2024&#xff0c;我想和 TDengine 谈谈”征文活动的优秀投稿之一&#xff0c;作者从数据库运维的角度出发&#xff0c;分享了利用 TDengine Cloud 提供的迁移工具&#xff0c;从 PostgreSQL 数据库到 TDengine 进行数据迁移的完整实践过程。文章…

C#,入门教程(01)—— Visual Studio 2022 免费安装的详细图文与动画教程

通过本课程的学习&#xff0c;你可以掌握C#编程的重点&#xff0c;享受编程的乐趣。 在本课程之前&#xff0c;你无需具备任何C#的基础知识&#xff0c;只要能操作电脑即可。 不过&#xff0c;希望你的数学不是体育老师教的。好的程序是数理化的实现与模拟。没有较好的数学基础…

Linux探秘坊-------3.开发工具详解(2)

1.动静态库和动静态链接&#xff08;操作&#xff09; 静态库是指编译链接时,把库⽂件的代码全部加⼊到可执⾏⽂件中,因此⽣成的⽂件 ⽐较⼤,但在运⾏时也就不再需要库⽂件了。其后缀名⼀般为“.a” 动态库与之相反,在编译链接时并 没有把库⽂件的代码加⼊到可执⾏⽂件中 ,⽽…

电脑开机出现Bitlock怎么办

目录 1.前言 2.产生原因&#xff1a; 1.系统异常关机 2.系统更新错误 3.硬件更换 4.CMOS电池问题 5.出厂设置 6.意外情况 3.解锁步骤&#xff1a; 3.1&#xff1a;记住密钥ID&#xff08;前6位&#xff09; 3.2&#xff1a;打开aka.ms/myrecoverykey网址 3.3&#…

Avalonia系列文章之小试牛刀

最近有朋友反馈&#xff0c;能否分享一下Avalonia相关的文章&#xff0c;于是就抽空学习了一下&#xff0c;发现Avalonia真的是一款非常不错的UI框架&#xff0c;值得花时间认真学习一下&#xff0c;于是边学习边记录&#xff0c;整理成文&#xff0c;分享给大家&#xff0c;希…

springboot自动配置原理(高低版本比较)spring.factories文件的作用

SpringBootApplication public class SpringSecurityApplication {public static void main(String[] args) {SpringApplication.run(SpringSecurityApplication.class, args);}}注解SpringBootApplication Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Doc…

vue2 - Day05 - VueX

Vuex 是 Vue.js 官方的状态管理库。它是一个让你能在应用中集中管理共享状态的工具。当应用的规模逐渐增大&#xff0c;组件之间的数据传递变得越来越复杂时&#xff0c;Vuex 就成为了救星&#xff0c;提供了一个集中式的存储来管理所有的组件状态&#xff0c;并且保证状态以一…