react第三课--路由,简单总结

1.安装

npm i react-router-dom@5.0 -S

2.组件

  1. BrowserRouter 浏览器路由
    HashRouter 哈希路由
  2. NavLink 导航链接
    - exact 精确匹配
    - to 链接地址
    - class=“active”匹配状态
  3. Route 路由容器
    - exact 精确匹配
    - pathname和配置path完全匹配)
    - path 路由地址
    - component 组件
  4. <Redirect> 重定向
    - to 去哪
    - from 从哪
  5. <Switch> 匹配一个路由
  6. <Prompt>路由离开时调用弹窗
    - when:当条件为真
    - message:弹出的文本内容
  7. <Link> 跳转
    to="/login" to={{ pathname:"/login/, search:"name:"mumu",age:18", hash:{#good"}, state:{}, }}
    参数props里面的location一致的
  8. 404
    - Switch包裹(一次匹配一个)
    - path=“*”
    - 配置放在最后面

3. 路由props

  1. match 匹配的路由

    params 路由的参数
    isExact 是否精确匹配
    path 路径
    url 地址

  2. history历史记录

    push 跳转
    replace 替换历史记录
    goBack 返回
    goForward 前进
    go 跳转历史记录
    listen 监听
    location
    length 长度

  3. location地址栏

    hash 哈希值
    pathname 地址名称
    search 查询信息
    state 跳转传入参数

  4. 只有Route对应的component才有这自动注入的三个参数

4. reactHook 在函数组件里面模拟生命周期和状态state

1. useState使用状态
   	 const [state, setstate] = useState(initialState)
2. useEffect模拟生命周期
	第一个参数是回调函数,模拟组件已经挂载完毕
	第一个参数的返回值,模拟组件将要卸载
	第二个参数:依赖数据
3. useRef 使用DOM引用	
	const inpRef=useRef();
	<input type="text" ref={inpRef} />
	inpRef.current.value
4. useCallback使用回调缓存执行一个函数
5. useMemo使用缓存,返回一个函数
6. useLayouEffect视图发生变化
7. useReducer 集中数据管理器(模拟reduce)

5. 常见的react-router-dom组件

import {
 HashRouter as Router, //哈希路由
 BrowserRouter as Router ,//浏览历史记录路由
 Router,//路由
 NavLink,//导航链接
 Redirect,//重定向
 Switch, //切换
 Prompt, //弹出
 Link //连接 
 } from 'react-router-dom'

6. react生命周期

1.挂载
	componentDidMount 组件已经挂载(cdm)
	constructor 构造函数
	static getDerivedStateFromProps(props, state)监听
	render 渲染
2.更新
	shouldComponentUpdate(nextProps, nextState) 组件是否更新(scu)
	static getDerivedStateFromProps(props, state) 监听props更新
	render 渲染函数
	getSnapshotBeforeUpdate(prevProps, prevState) 更新获取快照返回的数 据是cdu的第三个参数(gsbu)
	componentDidUpdate(prevProps, prevState) 组件已经更新(cdu)
3.卸载
componentWillUnmount 组件将要卸载(cwun)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要添加路由,首先需要在react-router-dom v6中导入BrowserRouter和Routes组件。然后在Routes组件中添加Route组件,并指定path和component属性,用于指定路由路径和对应的组件。例如: ``` import { BrowserRouter, Routes, Route } from 'react-router-dom'; import Home from './components/Home'; import About from './components/About'; function App() { return ( <BrowserRouter> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> </Routes> </BrowserRouter> ); } ``` 在上面的示例中,当用户访问根路径时,会渲染Home组件,当访问/about路径时,会渲染About组件。需要注意的是,在v6中,使用element属性来指定要渲染的组件。 ### 回答2: 在使用React的项目中添加React Router Dom V6的路由非常简单。首先,确保项目中已经安装了ReactReact Router Dom V6的依赖。 然后,在项目的入口文件中,导入`BrowserRouter`组件,并在`ReactDOM.render`方法中将根组件包装在`<BrowserRouter></BrowserRouter>`标签中。 接下来,在根组件中,导入`Routes`和`Route`组件,分别用于定义路由规则和具体的路由路径。 使用`Routes`组件,可以在其内部使用多个`Route`组件来定义不同的路由。每个`Route`都包含两个属性:`path`和`element`。`path`表示路由的路径,`element`表示对应的组件。 通过这种方式,可以轻松地添加不同路径的路由。例如,可以创建一个`Home`组件,并在路由中添加`path="/" element={<Home />}`。这样,当用户访问根路径时,将加载`Home`组件。 除了基本的路径匹配,React Router Dom V6还引入了`<Switch>`组件用于路由的排他性匹配。在`Switch`组件内部,可以使用`<Route>`组件来定义不同的路由。当匹配到第一个路由后,就不会继续匹配后面的路由。 此外,React Router Dom V6还提供了一些其他的组件和钩子,如`<Link>`组件用于创建链接,`useNavigate`钩子用于进行编程方式的导航等。 总结起来,通过使用React Router Dom V6的`<Routes>`和`<Route>`组件,可以轻松地添加路由路径和对应的组件。并且,通过`<Switch>`组件可以实现路由的排他性匹配。在需要进行导航操作时,可以使用`<Link>`组件或`useNavigate`钩子。 ### 回答3: 在 React 中使用 react-router-dom v6 添加路由非常简单。以下是一个简单的演示: 首先,确保已经安装了 react-router-dom v6: ```shell npm install react-router-dom@next ``` 然后,在你的 App.js(或其他根组件)中导入所需的库和组件: ```jsx import React from 'react'; import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; import Home from './Home'; import About from './About'; import NotFound from './NotFound'; const App = () => { return ( <Router> <Routes> <Route path="/" element={<Home />} /> <Route path="/about" element={<About />} /> <Route path="*" element={<NotFound />} /> </Routes> </Router> ); }; export default App; ``` 这里我们使用了 `<BrowserRouter>` 组件来为应用程序提供路由功能,然后使用 `<Routes>` 和 `<Route>` 组件来设置路由规则。 在 `<Routes>` 中,我们可以使用 `<Route>` 组件来定义具体的路由路径和对应的组件。`<Route>` 组件的 `path` 属性用于定义路由路径,`element` 属性用于指定该路径对应的组件。 在上面的例子中,我们将根路径 `/` 对应的组件设置为 `Home` 组件,路径 `/about` 对应的组件设置为 `About` 组件,而路径 `*` 对应的组件设置为 `NotFound` 组件(即未匹配到任何路由时显示的组件)。 当我们访问应用程序的不同路径时,react-router-dom v6 会根据路径自动加载相应的组件进行渲染。 希望这个简单的例子能够帮助你理解如何使用 react-router-dom v6 添加路由

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值