单页应用是什么?react-router-dom的使用

即打开一个网站,只会请求一次html文件,无论你如何点击跳转,都不刷新页面。

一个普通有url地址的a标签,你点击一下,就会重新请求href后面的地址(即使配置了Route路由),重新返回一个html文件,刷新页面。会比较耗费性能。

多页面应用程序:例如简书,打开首页请求一个html, 再打开一个链接文章,页面先是白屏一会儿,再出现内容,这就是多页面应用程序,又加载了一个html文件过来。

 

react-router-dom的使用

Route是配置路由规则,一个规则对应一个组件,当切换到对应路由的时候,该组件就会被挂载出来


     
     

使用Link组件配合Router路由规则,来做切换路由,这样点击的时候不会直接跳转新页面,而是切换了路由路径,react就会帮我们加载路由对应detail组件,这种页面切换非常流畅。

import {Link} from 'react-router-dom'

  

 还要注意Link也要放在Router组件中的,如上代码没报错是因为Link是在Home组件中,后Home组件又在Router中,所以组件中想用到Link,就要将其用Router包裹

      
          // Header组件放在Router中,是因为Header组件内部使用Link,而Link必须放在Router中,否则报错

          // 配置路由规则,route也放在Router中

 

Redirect 使用

https://blog.csdn.net/b954960630/article/details/88766222

js动态跳转

// 可以用js代码实现
this.props.history.push("/")
// 也可以返回一个重定向组件,不写from,就直接to跳转
return

 

你可能感兴趣的:(单页应用是什么?react-router-dom的使用)