【React-Router】路由快速上手

1. 創建路由開發環境

# 使用CRA創建項目
npm create-react-app react-router-pro# 安裝最新的ReactRouter包
npm i react-router-dom

2. 快速開始

// index.jsimport React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { createBrowserRouter, RouterProvider } from 'react-router-dom';const router = createBrowserRouter([{path: '/login',element: <div>登錄</div>},{path: '/article',element: <div>文章</div>}
])
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<React.StrictMode><RouterProvider router={router} /></React.StrictMode>
);// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

3. 抽象路由模塊

image.png

image.png

// @/page/Article/index.js
const Article = () => {return <div>文章頁</div>
}export default Article
// @/router/index.js
import Login from '../page/Login'
import Article from '../page/Article'
import { createBrowserRouter } from 'react-router-dom'
const router = createBrowserRouter([{path: '/login',element: <Login></Login>},{path: '/article',element: <Article></Article>},{path: '/',element: <Login></Login>}
])export default router
// @/index.js
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import {  RouterProvider } from 'react-router-dom';
// 導入路由
import router from './router';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<React.StrictMode>{/* 路由綁定 */}<RouterProvider router={router} /></React.StrictMode>
);// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

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

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

相關文章

QEMU Guest Agent本地提權漏洞處理(CVE-2023-0664)

一、漏洞描述 QEMU Guest Agent&#xff08;qga&#xff09;類似于vmware中的 vmtools&#xff0c;相關安全報告顯示它的Windows版本安裝程序存在本地提權高危漏洞&#xff08;CVE-2023-0664&#xff09;&#xff0c;攻擊者可利用該漏洞進行本地權限提升&#xff0c;獲得SYSTE…

音視頻5、libavformat-1

libavformat庫,是FFmpeg中用于處理各種媒體容器格式(media container format)的庫。它的兩個最主要的功能是 : demuxing:解封裝,將一個媒體文件分割為多個多媒體流 muxing:封裝,將多個多媒體數據流寫入到指定媒體容器格式的文件中 這兩個過程所做的…

智能化學習打破資源障礙 成為英語學習新趨勢

智能化學習是一種基于互聯網和人工智能技術的學習行為,通過網絡,學習者可以隨時隨地進行學習,真正打破了時間和空間的限制。與傳統線下學習方式相比,智能化學習更加方便、資源更加豐富,使海量英語學習資源唾手可得,智能化學習正逐漸成為中國孩子習得英語的重要方式。 隨著全球…

基于python和django旅游管理系統

基于python和django旅游管理系統 摘要 基于Python和Django的旅游管理系統是一個以現代化技術為基礎的系統&#xff0c;旨在提升旅游行業的管理效率和服務水平。該系統以Django框架為核心&#xff0c;結合Python編程語言的靈活性和強大的生態系統&#xff0c;實現了多方面的功能…

vue3之echarts漸變柱狀圖

vue3之echarts漸變柱狀圖 效果&#xff1a; 核心代碼&#xff1a; <template><div class"abnormal"><div class"chart" ref"chartsRef"></div></div> </template><script setup> import * as echa…

新手小白想做跨境電商,應該選第三方平臺還是獨立站?

近幾年在疫情的影響下&#xff0c;電商特有的“免接觸”模式迅速切中消費者的心理痛點&#xff0c;加上國內電商發展已經趨于平緩&#xff0c;很多線下店鋪被迫關閉&#xff0c;這也使得越來越多的大賣和平臺也不約而同布局跨境電商。而說到跨境電商&#xff0c;或許大家普遍想…

論文閱讀:MedSegDiff: Medical Image Segmentation with Diffusion Probabilistic Model

論文標題&#xff1a; MedSegDiff: Medical Image Segmentation with Diffusion Probabilistic Model 翻譯&#xff1a; MedSegDiff&#xff1a;基于擴散概率模型的醫學圖像分割 名詞解釋&#xff1a; 高頻分量&#xff08;高頻信號&#xff09;對應著圖像變化劇烈的部分&…

視頻剪輯達人分享:高效減片頭時長并調整播放速度的技巧,提升視頻品質

在視頻剪輯的過程中&#xff0c;許多初學者經常會遇到一些問題&#xff0c;如片頭過長、播放速度不適當等&#xff0c;這些問題不僅會影響觀眾的觀看體驗&#xff0c;還會對視頻品質產生負面影響。在調整播放速度時&#xff0c;要根據視頻內容來進行調整。一般來說&#xff0c;…

探索穩定擴散技術中的LoRA權重激活:從模型微調到動漫風格圖像生成的全過程

多重LoRA權重激發穩定擴散 穩定擴散控制網絡流水線步驟1&#xff1a;環境準備步驟2&#xff1a;模型轉換步驟3&#xff1a;運行時流水線測試 啟用穩定擴散的LoRA權重步驟4-1&#xff1a;通過pytorch_lora_weights.bin啟用LoRA步驟4-2&#xff1a;通過safetensors類型的權重啟用…

008 OpenCV matchTemplate 模板匹配

目錄 一、環境 二、模板匹配算法原理 三、代碼演示 一、環境 本文使用環境為&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、模板匹配算法原理 cv.matchTemplate是OpenCV庫中的一個函數&#xff0c;用于在圖像中查找與模板匹配的特征。它的主要應用場景…

leetcode:645. 錯誤的集合(python3解法)

難度&#xff1a;簡單 集合 s 包含從 1 到 n 的整數。不幸的是&#xff0c;因為數據錯誤&#xff0c;導致集合里面某一個數字復制了成了集合里面的另外一個數字的值&#xff0c;導致集合 丟失了一個數字 并且 有一個數字重復 。 給定一個數組 nums 代表了集合 S 發生錯誤后的結…

創建 Plotly 的散點線圖

一 使用 Plotly 畫圖 import plotly.graph_objects as godef img_show_fig(out_data_today):# 創建 Plotly 的散點線圖fig go.Figure()# 添加散點線fig.add_trace(go.Scatter(xout_data_today.index,yout_data_today.values,modelinesmarkers,markerdict(colorred, # 設置數…

揭秘周杰倫《最偉大的作品》MV,絕美UI配色方案竟然藏在這里

色彩在UI設計的基本框架中占據著舉足輕重的位置。實際上&#xff0c;精心挑選和組合的色彩配色&#xff0c;往往就是UI設計成功的不二法門。在打造出一個實用的UI配色方案過程中&#xff0c;我們需要有堅實的色彩理論知識&#xff0c;同時還需要擅于從生活中觀察和提取靈感。以…

uboot中nfs和tftp方式獲取文件

NFS文件系統掛載 服務器端配置如下 1.Server端需要安裝NFS服務&#xff1a; sudo apt-get install nfs-kernel-server2.創建需要掛載的路徑&#xff1a; mkdir -p /home/workspace/mercury/nfs_path3.創建共享目錄&#xff1a; ①vim /etc/exports ②在文件中添加&#xff…

Java 中 HashSet 和 TreeSet 的區別

簡介&#xff1a; 在Java開發中&#xff0c;HashSet和TreeSet都是常用的集合類&#xff0c;用于存儲不重復的元素。雖然它們都實現了Set接口&#xff0c;并提供了相似的功能&#xff0c;但在內部實現和特性上存在一些區別。本文將深入探討HashSet和TreeSet的差異&#xff0c;幫…

人機交互模塊的發展

人機交互&#xff08;Human-Computer Interaction&#xff0c;HCI&#xff09;是指人與計算機之間進行交互和信息交換的過程。人機交互模塊的發展經歷了多個階段&#xff0c;從早期的命令行界面到現在多樣化的交互方式&#xff0c;不斷發展和創新。以下是一些人機交互模塊的發展…

藍橋杯物聯網競賽_STM32L071_2_繼電器控制

CubeMX配置&#xff1a; Function.c及Function.h&#xff1a; #include "Function.h" #include "gpio.h" void Function_LD5_ON(void){HAL_GPIO_WritePin(LD5_GPIO_Port, LD5_Pin, GPIO_PIN_RESET); }void Function_LD5_OFF(void){HAL_GPIO_WritePin(LD5_…

角色管理--產品經理崗

研發組織管理--角色管理--產品經理崗 定位 相對穩定和簡單產品的獨立產品打造者&#xff0c;復雜產品的輔助者 所需資質 校招新人&#xff0c;擁有靈性擁有基礎的產品力&#xff08;認知&#xff0c;設計&#xff0c;創新&#xff0c;推進&#xff0c;學習&#xff09;Axur…

解決Vue項目的runtime-only轉為runtime-compiler

我們在vue.config.js中添加上 runtimeCompiler: true,然后再將main.js入口文件中的Vue實例改為以下即可 //修改前 new Vue({router,store,render: (h) > h(App) }).$mount(#app) //修改后 new Vue({el:#app,router,store, components:{App}, template:<App/>})