React路由使用&React路由懒加载&简单实践

本文介绍了在React中如何使用`react-router-dom`进行路由配置,并结合懒加载实现组件按需加载。通过实例展示了从项目搭建、创建Home和RouterDemo组件、配置router.js以及在index.js中设置路由,到实现页面间跳转的过程。
摘要由CSDN通过智能技术生成

实现的效果是 一个home页,一个routerDemo页面,点击home页的按钮跳转到routerDemo页面,点击routerDemo页面的按钮跳转回home页面

一、介绍及安装

1、介绍

(1)
在 React 的使用中,我们一般要引入两个包,reactreact-dom
而 React路由有两个包,react-routerreact-router-dom ,使用的时候,只需要引用一个即可。
后者比前者多出了 这样的 DOM 类组件。

  • react-router:提供了router的核心api。如RouterRouteSwitch等,但没有提供有关dom操作进行路由跳转的api;
  • react-router-dom:提供了BrowserRouterRouteLink等 api,可以通过dom操作触发事件控制路由。

因此我们只需引用 react-router-dom 这个包就行了。当然,如果搭配 redux ,你还需要使用 react-router-redux。

(2)

  • React.lazy()懒加载需要和import() 动态引入语法配合使用

  • <React.Suspense>需要和React.lazy() 配合使用

2、下载安装

npm install react-router-dom --save

二、路由配合懒加载使用

1、新建项目

(1)
使用脚手架新建项目挺简单的,搜索react 脚手架 create-react-app搭建项目
(2)
新建项目后,删除 App.js 和对应的css文件App.css 以及 App.test.js

2、路由配合懒加载简单使用

创建两个页面来简单使用

(1)Home组件

src下创建 pages 文件夹,在 pages 文件夹下创建 home 文件夹,再在 home 文件夹下创建 index.js文件(默认路由是index.js):

import React from "react"

const Home = (props) => {
   
  return (
    <div>
      home
    </div>
  )
}

export default Home

(2)RouterDemo 组件

在pages文件夹下创建 routerDemo 文件夹,再在其下创建 index.js 文件:

import React from "react";

const RouterDemo = ( props ) => {
   
 
  
React 路由懒加载是一种优化技术,它可以帮助我们提高 React 应用程序的性能。当应用程序包含大量页面或组件时,使用路由懒加载可以减少初始加载时间并降低资源占用。 要实现路由懒加载,我们可以使用 React Router 库提供的 `React.lazy` 函数和 `Suspense` 组件。下面是一个示例: ```jsx import React, { lazy, Suspense } from 'react'; import { BrowserRouter as Router, Route, Switch } from 'react-router-dom'; // 使用 React.lazy 定义需要懒加载的组件 const Home = lazy(() => import('./Home')); const About = lazy(() => import('./About')); const Contact = lazy(() => import('./Contact')); function App() { return ( <Router> <Suspense fallback={<div>Loading...</div>}> <Switch> <Route exact path="/" component={Home} /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> </Switch> </Suspense> </Router> ); } export default App; ``` 在上面的示例中,我们首先使用 `React.lazy` 函数将要懒加载的组件引入。然后,我们将这些懒加载的组件用 `<Suspense>` 组件包裹,并设置一个 `fallback` 属性来定义在组件加载过程中显示的加载提示。最后,我们在 `<Switch>` 组件中使用 `<Route>` 来定义各个页面的路由路径和对应的组件。 使用路由懒加载后,当用户访问到某个页面时,对应的组件才会被动态加载并渲染,从而提高了应用程序的加载速度和性能。 希望对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值