React项目实战(一)

export const mainRoute = [

{

pathname:“/login”,

component:Login

},

{

pathname:“/404”,

component:Notfound

}

]

// /admin/XXX dashboard article articleEdit settings 管理页面

export const admainRoute = [

{

pathname:“/admin/dashboard”,

component:Dashboard

},

{

pathname:“/admin/article”,

component:Article,

exact:true //配置App内置路由需要exact属性,详情见下文

},

{

pathname:“/admin/article/edit/:id”,

component:ArticleEdit

},

{

pathname:“/admin/settings”,

component:Settings

},

]

1-3需要最外层去渲染路由视图

  • src/index.js文件里渲染路由视图

在这里插入图片描述

import React from ‘react’;

import ReactDOM from ‘react-dom’;

import App from ‘./App’;

import {HashRouter as Router,Route,Redirect,Switch} from “react-router-dom”

import {mainRoute} from “./routes”

ReactDOM.render(

//admin主页面的路由 进入到App组件

{

mainRoute.map(route=>{

return

})

} //遍历login 404 的路由

//重定向 首页为admin

//如果路径与之前都不匹配,则返回404页面

,

document.getElementById(‘root’)

);

1-4需要配置内层App路由

  • src/App.js文件里渲染路由视图

在这里插入图片描述

import React, { Component } from ‘react’

import {admainRoute} from “./routes”

import {Route,Redirect,Switch} from “react-router-dom”

export default class App extends Component {

render() {

return (

{

admainRoute.map(route=>{

return

})

} //admin页面里的路由 dashboard article articleEdit settings

//重定向到 admin页面

)

}

}

  • 后续发现了问题 /admin/article显示Article中的内容 但是/admin/article/edit/2的时候不显示ArticleEdit中的内容

解决方法,直接在routes/index.js里面添加一个标志exact然后遍历路由的时候判断是否要添加exact属性

{

pathname:“/admin/article”,

component:Article,

exact:true

},

{

admainRoute.map(route=>{

return

})

}

1-5 路由的懒加载

  • 下载react-loadable

通过yarn add react-loadable安装

在npm官网中搜索查阅使用方法

在这里插入图片描述

  • 并新建src/component/loading/index.js文件,当懒加载未完成时,会显示该页面的内容

在这里插入图片描述

  • 更改src/views/index.js文件

import Loadable from ‘react-loadable’;

import Loading from ‘…/components/loading’;

//需要将对外的普通组件需要进行懒加载

const Article = Loadable({

loader: () => import(‘./article’),

loading: Loading,

});

const Dashboard = Loadable({

loader: () => import(‘./dashboard’),

loading: Loading,

});

const ArticleEdit = Loadable({

loader: () => import(‘./article/Edit’),

loading: Loading,

});

const Login = Loadable({

loader: () => import(‘./login’),

loading: Loading,

});

const Notfound = Loadable({

loader: () => import(‘./notfound’),

loading: Loading,

});

const Settings = Loadable({

loader: () => import(‘./settings’),

loading: Loading,

});

export {

Article,

ArticleEdit,

Dashboard,

Login,

Notfound,
Settings
}

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
09937)]

[外链图片转存中…(img-bM2bYEpE-1715587809937)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值