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.pswp.cn/web/66626.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66626.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66626.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android系統開發(二十):字體活起來,安卓自定義字體改造指南

為什么要寫這篇文章&#xff1f; 你是否厭倦了千篇一律的安卓默認字體&#xff1f;想讓你的設備從“乏味的配角”變成“炫酷的主角”&#xff1f;好消息&#xff01;從Android 12到Android 15&#xff0c;自定義字體變得更簡單、更強大。尤其是表情字體的更新&#xff0c;不僅…

django使用踩坑經歷

DRF 使用drf獲取序列化后的id visitor_serializer VisitorSaveSerializer(data{…}) if visitor_serializer.is_valid():visitor visitor_serializer.save() visitor_id visitor.pkpostgrepsql踩坑 django使用postgrepsql&#xff0c;使用聚合函數如:sum 等&#xff0c;被…

ASP.NET Core中 JWT 實現無感刷新Token

在 Web 應用開發中&#xff0c;用戶登錄狀態的管理至關重要。為了避免用戶頻繁遇到登錄過期的問題&#xff0c;我們可以通過實現 JWT&#xff08;JSON Web Token&#xff09;刷新機制來提升用戶體驗 推薦: 使用 Refresh Token&#xff08;雙 Token 機制&#xff09; 1. 生成和…

將 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創…

【全面解析】深入解析 TCP/IP 協議:網絡通信的基石

深入解析 TCP/IP 協議&#xff1a;網絡通信的基石 導語 你是否曾好奇&#xff0c;現代互聯網是如何實現全球設備之間的高速、穩定和可靠通信的&#xff1f;無論是瀏覽網頁、發送電子郵件&#xff0c;還是進行視頻通話&#xff0c;背后都離不開 TCP/IP 協議 的支撐。作為互聯網…

全面解析 Java 流程控制語句

Java學習資料 Java學習資料 Java學習資料 在 Java 編程中&#xff0c;流程控制語句是構建程序邏輯的關鍵部分&#xff0c;它決定了程序的執行順序和走向。通過合理運用這些語句&#xff0c;開發者能夠實現各種復雜的業務邏輯&#xff0c;讓程序更加靈活和智能。 順序結構 順…

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;就是一般我們需要…

淺談Java之AJAX

一、基本介紹 在Java開發中&#xff0c;AJAX&#xff08;Asynchronous JavaScript and XML&#xff09;是一種用于創建動態網頁的技術&#xff0c;它允許網頁在不重新加載整個頁面的情況下與服務器進行交互。 二、關鍵點和示例 1. AJAX的基本原理 AJAX通過JavaScript的XMLHtt…

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;希望你的數學不是體育老師教的。好的程序是數理化的實現與模擬。沒有較好的數學基礎…