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-app
    
    npx 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 ↩︎

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

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

相关文章

程序员不可能不知道的常见锁策略

前面我们学习过线程不安全问题&#xff0c;我们通过给代码加锁来解决线程不安全问题&#xff0c;在生活中我们也知道有很多种类型的锁&#xff0c;同时在代码的世界当中&#xff0c;也对应着很多类型的锁&#xff0c;今天我们对锁一探究竟&#xff01; 1. 常见的锁策略 注意: …

智启未来,AI筑梦科技新星”------华清远见成都中心2025冬令营圆满结束

2025年1月11日-16日&#xff0c;华清远见成都中心为期6天的“智启未来&#xff0c;AI筑梦科技新星”2025冬令营活动圆满结束。此次活动吸引了众多对人工智能和无人驾驶技术充满热情的学生参与&#xff0c;共同开启了一段点燃科技梦想的精彩旅程。 报道接待 以AI无人驾驶小车为核…

Debezium日常分享系列之:对于从Oracle数据库进行快照的性能优化

Debezium日常分享系列之&#xff1a;对于从Oracle数据库进行快照的性能优化 源数据库Kafka Connect监控测试结果 源数据库 Oracle 19c&#xff0c;本地&#xff0c;CDB数据库主机的I/O带宽为6 GB/s&#xff0c;由此主机上运行的所有数据库共享临时表空间由42个文件组成&#x…

RabbitMQ--延迟队列

&#xff08;一&#xff09;延迟队列 1.概念 延迟队列是一种特殊的队列&#xff0c;消息被发送后&#xff0c;消费者并不会立刻拿到消息&#xff0c;而是等待一段时间后&#xff0c;消费者才可以从这个队列中拿到消息进行消费 2.应用场景 延迟队列的应用场景很多&#xff0c;…

3DsMax设置中文界面

按键盘上的“Win”键&#xff0c;直接输入3dsmax&#xff0c;选择Simplified Chinese打开&#xff0c;之后就都是中文了

opencv在图片上添加中文汉字(c++以及python)

opencv在图片上添加中文汉字&#xff08;c以及python&#xff09;_c opencv绘制中文 知乎-CSDN博客 环境&#xff1a; ubuntu18.04 desktopopencv 3.4.15 opencv是不支持中文的。 这里C代码是采用替换原图的像素点来实现的&#xff0c;实现之前我们先了解一下汉字点阵字库。…

线程同步与Mutex

梦想是逃离世界… 文章目录 一、什么是线程同步&#xff1f;二、线程同步机制三、互斥锁&#xff08;Mutex&#xff09;四、loock 和 unlock五、Mutex的四种类型 一、什么是线程同步&#xff1f; 线程同步(Thread Synchronization)是多线程编程中的一个重要概念&#xff0c;它…

基于SpringBoot和PostGIS的全球首都信息管理设计与实现

目录 前言 一、首都空间表的设计 1、三张空间表的结构 二、SpringBoot后台管理的设计与实现 1、模型层的实现 2、业务层及控制层实现 三、前端的实现与成果可视化 1、新增数据的保存 2、首都的实际管理成果 3、全球首都信息 四、总结 前言 首都&#xff0c;一个国家的…

计算机网络 (50)两类密码体制

前言 计算机网络中的两类密码体制主要包括对称密钥密码体制&#xff08;也称为私钥密码体制、对称密码体制&#xff09;和公钥密码体制&#xff08;也称为非对称密码体制、公开密钥加密技术&#xff09;。 一、对称密钥密码体制 定义&#xff1a; 对称密钥密码体制是一种传…

【数据结构篇】顺序表 超详细

目录 一.顺序表的定义 1.顺序表的概念及结构 1.1线性表 2.顺序表的分类 2.1静态顺序表 2.2动态顺序表 二.动态顺序表的实现 1.准备工作和注意事项 2.顺序表的基本接口&#xff1a; 2.0 创建一个顺序表 2.1 顺序表的初始化 2.2 顺序表的销毁 2.3 顺序表的打印 3.顺序…

C 语言雏启:擘画代码乾坤,谛观编程奥宇之初瞰

大家好啊&#xff0c;我是小象٩(๑ω๑)۶ 我的博客&#xff1a;Xiao Xiangζั͡ޓއއ 很高兴见到大家&#xff0c;希望能够和大家一起交流学习&#xff0c;共同进步。* 这一课主要是让大家初步了解C语言&#xff0c;了解我们的开发环境&#xff0c;main函数&#xff0c;库…

根据 Web 服务器端的架构相关知识,将PHP改JAVA重构企业网站系统

目录 案例 【题目】 【问题 1】(7 分) 【问题 2】(8 分) 【问题 3】(10 分) 答案 【问题 1】解析 【问题 2】解析 【问题 3】解析 相关推荐 案例 阅读以下关于应用服务器的叙述&#xff0c;在答题纸上回答问题 1 至问题 3。 【题目】 某电子产品制造公司&#xff0c…

多选multiple下拉框el-select回显问题(只显示后端返回id)

首先保证v-model的值对应options数据源里面的id <el-form-item prop"subclass" label"分类" ><el-select v-model"formData.subclass" multiple placeholder"请选择" clearable :disabled"!!formData.id"><e…

java快速导出word文档

点关注不迷路&#xff0c;欢迎再访&#xff01; 精简博客内容&#xff0c;尽量已行业术语来分享。 努力做到对每一位认可自己的读者负责。 帮助别人的同时更是丰富自己的良机。 文章目录 前言一.添加 Apache POI 依赖二.填充文档内容三.导出文档效果测试 前言 在 Java 应用程序…

《MambaIR:一种基于状态空间模型的简单图像修复基线方法》学习笔记

paper&#xff1a;2402.15648 目录 摘要 一、引言 1、模型性能的提升依赖于网络感受野的扩大&#xff1a; 2、全局感受野和高效计算之间存在固有矛盾&#xff1a; 3、改进版 Mamba的巨大潜力 4、Mamba 在图像修复任务中仍面临以下挑战&#xff1a; 5、方法 6、主要贡献…

ngnix上传小文件成功,大文件报错

ngnix错误日志 "/var/tmp/nginx/client//0000001299" failed (2: No such file or directory), client: 10.188.141.160, server: 127.0.0.1, request: "POST /fts/sys/common/biUpload HTTP/1.1", host: "10.20.166.179", referrer: "http…

Word表格批量提取数据到Excel,批量提取,我爱excel

Word表格批量提取数据到Excel&#xff0c;Word导出到Excel - 我爱Excel助你高效办公 在日常办公中&#xff0c;Word表格常常用于记录和整理数据&#xff0c;但将这些数据从Word提取到Excel&#xff0c;特别是当涉及多个文件时&#xff0c;常常让人头疼。如果你经常需要将多个W…

【Zookeeper】Windows下安装Zookeeper(图文记录详细步骤,手把手包安装成功)

【Zookeeper】Windows下安装Zookeeper Zookeeper简介一、下载Zookeeper安装包1.1、官网下载Zookeeper1.2、网盘下载Zookeeper 二、解压Zookeeper安装包到指定目录三、Zookeeper安装目录下创建文件夹四、进入config目录五、复制zoo_sample.cfg文件&#xff0c;改名为zoo.cfg六、…

JDK长期支持版本(LTS)

https://blogs.oracle.com/java/post/the-arrival-of-java-23 jdk长期支持版本&#xff08;LTS&#xff09;&#xff1a;JDK 8、11、17、21&#xff1a;

深度学习J3周:RNN-心脏病预测

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 要求&#xff1a; 1.本地读取并加载数据 2.了解循环神经网络&#xff08;RNN&#xff09;的构建过程 3.测试集accuracy到达87% 拔高&#xff1a; 测试机a…