react 路由创建与使用

1, 安装路由

npm i react-router-dom

2,路由组件 createBrowserRouter

// router/index.js
import { createBrowserRouter } from "react-router-dom"

import Home from '../page/home'
import New from '../page/new'

const router = createBrowserRouter([
  {
    path: '/',
    element: <Home />
  },
  {
    path: '/new',
    element: <New />
  },
  // 404路由配置
  {
    path: '*',
    element: <NotFound />
  }
])
export default router

3,使用路由

//index.js
import router from './router'
import { RouterProvider } from 'react-router-dom'

root.render(
  // <React.StrictMode>
    <RouterProvider router={router}></RouterProvider>
  // </React.StrictMode>
)

4,声明式导航

import { Link } from "react-router-dom"
<Link to='/new'>new</Link>

5,编程式导航

import { useNavigate } from "react-router-dom"
// 执行navigate
const navigate = useNavigate()
 // 使用
<span onClick={() => navigate('/')}>跳转到首页</span>

6,传参

// ====SearchParams======
<span onClick={() => navigate('/home?id=100&name=json')}>跳转到首页</span>
import { useSearchParams } from "react-router-dom"
const [params] = useSearchParams()
const id = params.get('id')
// ====params======
path: '/new/:id',// 路由添加占位符
<span onClick={() => navigate('/new/1000')}>跳转到首页</span>
import { useParams } from "react-router-dom"
const params = useParams ()
const id = params.id

7,嵌套路由

// 使用children属性配置嵌套关系
{
	path: '/',
	element: <Layout />,
	children: [
		{
			// path: '',
			index: true,// index设置为true 默认展示这个二级路由
			element: <Lxx />
		},
	]
}
// 使用<Outlet />组件配置二级路由渲染位置
const Layout = () => {
	return (
		<div>
			<Link to="page1">page1</Link>
			<Link to="page2">page2</Link>
			{/*二级路由出口*/}
			<Outlet />
		</div>
	)
}

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Router 是 React 中用于处理客户端路由的库,它提供了一种将应用程序状态同步到 URL 上的方式。以下是 React Router 的安装和使用步骤: 1. 安装 React Router。你可以使用 npm 或 yarn 进行安装。 ```bash # 使用 npm 安装 npm install react-router-dom # 使用 yarn 安装 yarn add react-router-dom ``` 2. 导入所需的组件。在你的项目中导入 BrowserRouter、Route 和 Switch 组件。 ```jsx import { BrowserRouter, Route, Switch } from 'react-router-dom'; ``` 3. 包装你的应用程序。使用 BrowserRouter 组件将你的应用程序包装起来。 ```jsx <BrowserRouter> <App /> </BrowserRouter> ``` 4. 定义路由使用 Route 组件定义你的路由。 ```jsx <Switch> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> </Switch> ``` 在这个例子中,我们定义了三个路由:/、/about 和 /contact。exact 属性告诉 Route 组件只有在路径为 / 时才匹配。component 属性指定路由对应的组件。 5. 创建路由组件。创建你的路由组件。 ```jsx function Home() { return ( <div> <h1>Home</h1> </div> ); } function About() { return ( <div> <h1>About</h1> </div> ); } function Contact() { return ( <div> <h1>Contact</h1> </div> ); } ``` 在这个例子中,我们创建了三个路由组件:Home、About 和 Contact。 6. 启动应用程序。使用 npm start 或 yarn start 启动你的应用程序。 现在你已经了解了 React Router 的基本使用方法。你可以使用其他属性和组件来扩展你的路由
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值