React 笔记 5

本文详细介绍了React路由的概念和使用,包括SPA的理解、路由的分类、react-router-dom的运用,以及相关API如BrowserRouter、HashRouter、Route、Link等。此外,还探讨了前端路由的工作原理,并提供了基本的路由配置和组件使用的实例。最后,提到了React的UI组件库,如material-ui和ant-design,以及它们的基本使用和特点。
摘要由CSDN通过智能技术生成

5章:React路由

5.1. 相关理解

5.1.1. SPA的理解

  1. 单页Web应用(single page web applicationSPA)。
  2. 整个应用只有一个完整的页面
  3. 点击页面中的链接不会刷新页面,只会做页面的局部更新。
  4. 数据都需要通过ajax请求获取, 并在前端异步展现。

5.1.2. 路由的理解

  1. 什么是路由?
    1. 一个路由就是一个映射关系(key:value)
    2. key为路径, value可能是function或component
  2. 路由分类
    1. 后端路由:
      1. 理解: valuefunction, 用来处理客户端提交的请求。
      2. 注册路由: router.get(path, function(req, res))
      3. 工作过程:当node接收到一个请求时, 根据请求路径找到匹配的路由, 调用路由中的函数来处理请求, 返回响应数据
    2. 前端路由:
      1. 浏览器端路由,valuecomponent,用于展示页面内容。
      2. 注册路由: <Route path="/test" component={Test}>
      3. 工作过程:当浏览器的path变为/test, 当前路由组件就会变为Test组件
      4. 前端路由的基石:history
            <a href="http://www.atguigu.com" onclick="return push('/test1') ">push test1</a><br><br>
        	<button onClick="push('/test2')">push test2</button><br><br>
        	<button onClick="replace('/test3')">replace test3</button><br><br>
        	<button onClick="back()">&lt;= 回退</button>
        	<button onClick="forword()">前进 =&gt;</button>
        
        	<script type="text/javascript" src="https://cdn.bootcss.com/history/4.7.2/history.js"></script>
        	<script type="text/javascript">
        		// let history = History.createBrowserHistory() //方法一,直接使用H5推出的history身上的API
        		let history = History.createHashHistory() //方法二,hash值(锚点)
        
        		function push (path) {
        			history.push(path)
        			return false
        		}
        
        		function replace (path) {
        			history.replace(path)
        		}
        
        		function back() {
        			history.goBack()
        		}
        
        		function forword() {
        			history.goForward()
        		}
        
        		history.listen((location) => {
        			console.log('请求路由路径变化了', location)
        		})
        	</script>

5.1.3. react-router

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值