React项目配置router

#自学笔记

第一步:安装router

npm i react-router-dom

 第二步:在src目录下的index.js里引入HashRouter或HistoryRouter,并应用于App组件

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

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
   <HashRouter>
     <App />
   </HashRouter>
);

第三步:在router文件夹内创建index.js,配置router文件并导出routes

import React from 'react'
import { Navigate } from 'react-router-dom'

//懒加载
const Home = React.lazy(() => import('@/views/home'))
const Entire = React.lazy(() => import('@/views/entire'))
const Detail = React.lazy(() => import('@/views/detail'))

const routes = [
  {
   path:'/',
   element:<Navigate to='/home'/>
  },
  {
   path:'/home',
   element:<Home/>
  },
  {
   path:'/detail',
   element:<Detail/>
  },
  {
   path:'/entire',
   element:<Entire/>
  },
]

export default routes

第四步:在App组件内引入useRoutes和routes文件,并应用

import React, { memo } from 'react'
import { useRoutes } from 'react-router-dom';
import routes from './router';

const App = memo(() => {
  return (
    <div className="app">
      <div className="header">header</div>
      <div className="content">
        {useRoutes(routes)}
      </div>
      <div className="footer">footer</div>
    </div>
  )
})

export default App

第五步:在src目录下的index.js文件中引入Suspense,展示loading界面

import React, { Suspense } from 'react';

root.render(
    <Suspense fallback='loading'>
     //fallback可以为组件/图片等等
       <HashRouter>
         <App />
       </HashRouter>
    </Suspense>
)

  • 12
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值