一、react18+項目初始化

  1. npx create-rect-app 項目名稱
  2. 配置antd design mobile
// 安裝
npm install --save antd-mobile
// 在文件中直接引入使用
import { Button } from 'antd-mobile'
<Button></Button>
  1. 更改webpack配置
// 1.安裝必要的包
npm install craco --save-dev
// 2.修改package.json中的腳本
"scripts": {"start": "craco start","build": "craco build","test": "craco test"}
// 3.創建或修改craco.config.js文件
const path = require('path');module.exports = {style: {postcss: {loaderOptions: {postcssOptions: {config: path.resolve(__dirname, "postcss.config.js")}}}},babel: {plugins: [["import", {libraryName: "antd-mobile",libraryDirectory: "es/components",style: false // 禁用自動導入樣式(已通過 PostCSS 處理)}]]},webpack: {alias: {// 添加您想要的別名'@': path.resolve(__dirname, 'src/'),// 可以添加更多別名,例如:'@components': path.resolve(__dirname, 'src/components/'),'@assets': path.resolve(__dirname, 'src/assets/')}}
};
// 4.配置postcss.config.js
const pxToViewport = require('postcss-px-to-viewport-8-plugin');module.exports = {plugins: [pxToViewport({unitToConvert: 'px',viewportWidth: 375,unitPrecision: 5,propList: ['*'],viewportUnit: 'vw',fontViewportUnit: 'vw',selectorBlackList: [],minPixelValue: 1,mediaQuery: false,replace: true,exclude: [/node_modules/, /antd-mobile/],include: /\.(css|scss)$/})]
};
  1. 配置路由(react-router-dom)
import React, { Suspense } from "react";
import { BrowserRouter, Routes, Route, Link } from "react-router-dom";const Home = React.lazy(() => import("@/pages/home"))
const Login = React.lazy(() => import("@/pages/login"))export default function App() {return (<BrowserRouter><Link to="/login">login</Link><Link to="/home">home</Link><Suspense fallback={ (<div>loading...</div>) }><Routes><Route path="/" element={<Home />} /><Route path="login" element={<Login />} /><Route path="home" element={<Home />} /></Routes></Suspense></BrowserRouter>);
}
  1. 配置redux 參考文檔
// 1. 安裝
npm install @reduxjs/toolkit react-redux
// 2. 創建store文件夾,內有index.js和modules文件夾
// 3. store -> index.js
import { configureStore } from '@reduxjs/toolkit'
import counterReducer from './modules/counterReducer'
export default configureStore({reducer: {counter:counterReducer }
})
// 4. 配置modules/counterReducer文件
import {createSlice} from '@reduxjs/toolkit'
export const counterStore = createSlice({name: 'counter',initialState: {count: 1},reducers: {updateData: (state, action) => {console.log('state:action', state, action);state.count = action.payload}}
})// 異步請求部分
const fetchData = () => {return async (dispatch) => {const res = await 請求方法(請求地址)dispatch(updateData(res.data))}
}const { updateData } = counterStore.actions; 
const counterReducer = counterStore.reducer;export { updateData, fetchData  }
export default counterReducer;
// 5. 配置入口文件
import store from './store'
root.render(<Provider store={store}><App /></Provider>
)
// 5. 組件中使用
import { useSelector, useDispatch } from "react-redux";
import { updateData, fetchData } from "@/store/modules/counterReducer"
// useSelector 從Store中讀取State
const {count} = useSelector((state) => state.counter);
// useDispatch 用來Dispatch Action
const dispatch = useDispatch()
dispatch({ type: 'counter/updateData', payload: 8})dispatch(updateData(8))
// 使用useEffect觸發異步請求執行
useEffect(() => {dispatch(fetchData())
}, [dispatch])
// 6. 調試工具 Redux-Devtools

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84004.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84004.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84004.shtml

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

相關文章

Azure 資源清單

Azure 資源清單 作用前置條件安裝PowerShell 7.0驗證 Azure資源清單安裝配置如果有舊版本&#xff0c;導致新模塊安裝不上&#xff0c;進行強制安裝 PowerShell 登錄到 Azure基本命令輸出詳細信息效果圖展示 作用 官方文檔&#xff1a;https://github.com/microsoft/ARI?tabr…

S11的含義-信號完整性分析

S11的含義: PCB上的互連結構是線性無源的&#xff0c;在傳輸信號時激勵源只有一個&#xff0c;即驅動器發出的信號。如果正弦信號從端口1進入&#xff0c;根據S11定義&#xff0c;S11表示端口1出來的正弦信號和端口1進入的正弦信號的比值。工程上通常把S11稱為回波損耗(Return …

基于OpenCv(開源計算機視覺庫)的圖像旋轉匹配

OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一個開源的計算機視覺和機器學習軟件庫&#xff0c;具有跨平臺特性&#xff0c;廣泛應用于工業檢測、醫療影像分析、自動駕駛、無人機、機器人視覺等多個領域。 本項目解決了圖像模板匹配時的旋轉問題。傳…

Elasticsearch Open Inference API 新增對 Cohere 的 Rerank 3 模型支持

作者&#xff1a;來自 Elastic Serena Chou 及 Max Hniebergall 了解 Cohere reranking&#xff0c;如何將 Cohere 的 Rerank 3 模型與 Elasticsearch 的 open inference API 一起使用&#xff0c;以及 Elastic 在語義 reranking 方面的路線圖。 注&#xff1a;原文在 2024 年 …

九日集訓第六天

目錄 兩個數對之間最大的乘積差 三角形的最大周長 數組拆分 救生艇 擺動排序|| 分發餅干 最少操作使數組遞增 使數組唯一的最小增量 有效三角形的個數 兩個數對之間最大的乘積差 class Solution { public:int maxProductDifference(vector<int>& nums) {so…

【軟件工程】Waitress + Nginx 部署 Python Web 服務

下面是完整的 Windows 系統部署方案,使用 Waitress 作為 WSGI 服務器運行 Python 后端,Nginx 作為反向代理同時提供前端服務: 項目結構 text 復制 下載 myapp/ ├── backend/ # Python后端 │ ├── app.py # Flask應用入口 │ ├──…

JS數據類型檢測方法總結

在 JavaScript 中&#xff0c;數據類型檢測是開發中的常見需求。以下是主要檢測方法及其優缺點&#xff1a; 1. typeof 操作符 最基礎的檢測方式&#xff0c;返回類型字符串&#xff1a; typeof 42; // "number" typeof "hello"; // &qu…

AEO:從搜索引擎到答案引擎,AI時代搜索優化的新戰場

在 ChatGPT、DeepSeek、Google SGE 等生成式AI崛起的時代&#xff0c;搜索正在經歷一場根本性變革&#xff1a; 過去&#xff1a;搜索引擎優化&#xff08;SEO&#xff09; 現在&#xff1a;答案引擎優化&#xff08;AEO&#xff09; 當搜索結果開始由AI直接生成“答案”而非…

搭建Node.js服務器

1.基礎HTTP服務器: 添加了路由處理添加了404錯誤處理添加了服務器錯誤監聽 2.靜態資源服務器: 使用異步文件操作支持目錄自動索引(默認加載 index.html)自動檢測文件類型并設置正確Content-Type更完善的錯誤處理 3.處理GET請求參數 提供了一個HTML表單用于測試使用url模塊…

Linux grep 命令

grep 是 Linux/Unix 系統中用于文本搜索的強大工具&#xff0c;支持基于正則表達式的模式匹配。以下是其詳細用法及實際應用示例&#xff1a; 基本語法 grep [選項] 模式 [文件...]模式&#xff1a;要搜索的字符串或正則表達式。文件&#xff1a;可以是單個文件或多個文件&…

oracle 11g通過rman做備份和還原

ORACLE RMAN增量備份完整恢復測試 1.創建測試環境: 1.1.創建測試表空間 SQL> create tablespace tablespace1 datafile ‘/data/u01/app/oracle/oradata/orcl/tablespace1.dbf’ size 10m; SQL> 1.2.創建測試用戶并指定為默認表空間: SQL> create user user1 iden…

為什么TCP有粘包問題,而UDP沒有

TCP粘包問題源于其面向字節流的設計&#xff0c;而UDP無此問題因其基于數據報的傳輸機制。 &#x1f50d; 一、TCP粘包問題的原因 字節流傳輸特性 TCP將數據視為連續的字節流&#xff0c;而非獨立的消息包。發送端多次寫入的小數據可能被合并為一個TCP段發送&#xff1b;接收端…

ELM:Embodied Understanding of Driving Scenarios

1. ELM 的創新點與核心思路 ELM 的核心在于 “具身理解”(Embodied Understanding),即通過常識與環境交互并進行推理,這一理念適用于自動駕駛車輛、機器人和無人機等多種應用場景。具身智能體(Embodied Agent)需具備四大核心能力:首先,它能夠描述周圍環境,對交通物體的…

實景VR知識科普

實景VR的定義與技術特點 實景VR&#xff0c;即基于真實場景的虛擬現實技術&#xff0c;是通過計算機生成的三維環境&#xff0c;旨在模擬并再現真實世界場景。用戶佩戴VR設備&#xff08;如VR頭盔、手柄等&#xff09;后&#xff0c;能夠沉浸在一個高度仿真的虛擬環境中&#…

CppCon 2016 學習:ITERATOR HAIKU

這組幻燈片講解了 C 中**范圍&#xff08;Ranges&#xff09;和迭代器&#xff08;Iterators&#xff09;**的核心概念&#xff0c;特別是 C14 標準定義的五種迭代器類別&#xff0c;以及范圍的基本使用方式。我幫你理個思路&#xff1a; 1. RANGE-SEQUENCE: 元素范圍&#xf…

開源飛控fmt軟件在環仿真環境搭建

tags: 飛控 fmt開發環境搭建 fmt是國產開源飛控&#xff0c;特點是支持基于模型設計&#xff08;基于simulink仿真&#xff09;&#xff0c;源碼結構目錄較清晰&#xff0c;項目體積較小。 此項目操作系統選擇的是國產實時操作系統rt-thread&#xff0c;也是開源項目。&#…

如何通過AI測試平臺實現自動化缺陷檢測和優化

在數字化轉型加速的今天&#xff0c;軟件質量保證已成為企業競爭力的關鍵要素之一。傳統的手工測試方法面臨著效率低下、成本高昂和覆蓋面有限等挑戰&#xff0c;而AI技術的融入為軟件測試領域帶來了革命性的變化。本文將深入探討如何構建一個完整的AI測試平臺&#xff0c;實現…

使用JeecgBoot配置

Jeecg 使用方法 本文以在環境配置好的前提下進行講解 如果不會配置環境 可在billbill網站的Jeecg官網搜索環境配置 第一步 打開redis&#xff0c;redis是一個服務&#xff0c;需要用命令行打開 且命令行不能關 不能實現一勞永逸效果 每次關閉都得重新打開一次。 第二步 啟動j…

NodeJS:版本及對應時間并對應的npm版本

versionltsrelease dateenginenpmnode下載更新日志文檔Node.js 24.0.1?2025-05-0813.61--下載更新日志文檔Node.js 22.12.0?2024-12-03---下載更新日志文檔Node.js 21.2.0 2023-11-1411.8.172.1710.2.3120下載更新日志文檔Node.js 20.10.0?2023-11-2211.3.244.810.2.3115下載…

UI前端大數據處理:應對海量數據的挑戰與策略

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩! 在數字化轉型的深水區&#xff0c;全球每日產生的數據量已突破 500EB&#xff0c;相當于 10 億…