React学习笔记之十三:React-Router之基础语法和嵌套路由

1.React-Router的基本用法

具体详情可以参考:React-router手册

react-router的几个重要工具
  • Router (BrowserRouter)
  • Route
  • Link
Router

路由器Router: 主要用于包裹整个路由信息和路由跳转信息的容器

Route

路由规则: 用于识别特定的URL后,将页面导向特定的组件(URL -> Component)

Link

路由链路:类似于a标签,将页面跳转到特定的URL

2. 基础路由的例子


// App.js
import React from "react";
import {
    BrowserRouter as Router, Route, Link, Switch } from "react-router-dom";
import "./App.css";
import Index from "./component/Index.jsx";
import User from "./component/User.jsx";
import Home from "./component/Home.jsx";

function App() {
   
  return (
    <div className="App">
      // Router作为承载路由的容器
      <Router>
        <ul>
          <li>
            // link相当于a标签,点击将U
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
React Router v6中,路由嵌套的写法有所改变。以下是一个示例: ```jsx import { BrowserRouter as Router, Route, Routes } from 'react-router-dom'; import { Outlet } from 'react-router-dom'; const App = () => { return ( <Router> <Routes> <Route path="/app" element={<ThisLayout />}> <Route path="/" element={<PostsList />} /> <Route path="/singlePostPage/:id" element={<SinglePostPage />} /> </Route> </Routes> </Router> ); }; const PostsList = () => { // ... return ( <section> <h2>posts</h2> {renderedPosts} <Outlet /> {/* 子路由渲染位置 */} </section> ); }; const SinglePostPage = () => { // ... }; const ThisLayout = () => { // ... }; export default App; ``` 在v6中,我们使用`Routes`组件来定义路由,而不再使用`Switch`组件。在父路由中,我们使用`Route`组件来定义子路由。子路由的元素可以通过`element`属性指定。在子路由的父组件中,我们可以使用`Outlet`组件来渲染子路由的内容。 希望这个例子能帮助你理解React Router v6中的路由嵌套写法。 #### 引用[.reference_title] - *1* [解决react-router-dom V6路由嵌套时子路由无法显示的问题](https://blog.csdn.net/frank7023/article/details/128913988)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [React Router v6 路由配置,嵌套路由](https://blog.csdn.net/Snow_GX/article/details/123656412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [react-router-dom v6版本 嵌套路由](https://blog.csdn.net/jzh1359314792/article/details/126526047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值