当前位置: 首页 > news >正文

类似于微博网站怎么做百度教育官网登录入口

类似于微博网站怎么做,百度教育官网登录入口,教案怎么写模板,太原免费静态网页制作网站文章目录 1、Router1.1 路由1.2 认识React-Router1.3 Link和NavLink1.4 Navigate1.5 Not Found页面配置1.6 路由的嵌套1.7 手动路由的跳转1.7.1 在函数式组件中使用hook1.7.2 在类组件中封装高阶组件 1.8 动态路由传递参数1.9 路由的配置文件以及懒加载 1、Router 1.1 路由 1.…

文章目录

  • 1、Router
    • 1.1 路由
    • 1.2 认识React-Router
    • 1.3 Link和NavLink
    • 1.4 Navigate
    • 1.5 Not Found页面配置
    • 1.6 路由的嵌套
    • 1.7 手动路由的跳转
      • 1.7.1 在函数式组件中使用hook
      • 1.7.2 在类组件中封装高阶组件
    • 1.8 动态路由传递参数
    • 1.9 路由的配置文件以及懒加载

1、Router

1.1 路由

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 认识React-Router

npm install react-router-dom

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3 Link和NavLink

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.4 Navigate

在这里插入图片描述

import React, { PureComponent } from "react";
import { Navigate } from "react-router-dom";export class Login extends PureComponent {constructor(props) {super(props);this.state = {isLogin: false,};}login() {this.setState({ isLogin: true });}render() {const { isLogin } = this.state;return (<div><h1>Login Page</h1>{/* 如果没有登录的话显示登录按钮已经登录则跳转到/home页面 */}{!isLogin ? (<button onClick={(e) => this.login()}>登录</button>) : (<Navigate to="/home" />)}</div>);}
}export default Login;

1.5 Not Found页面配置

在这里插入图片描述

      <Routes><Route path="*" element={<NotFound />} /></Routes>

1.6 路由的嵌套

在这里插入图片描述

1.7 手动路由的跳转

在这里插入图片描述

1.7.1 在函数式组件中使用hook

在这里插入图片描述

1.7.2 在类组件中封装高阶组件

在这里插入图片描述
在这里插入图片描述

1.8 动态路由传递参数

在这里插入图片描述

  • hoc
import {useLocation,useNavigate,useParams,useSearchParams,
} from "react-router-dom";const withRouter = (WrapperComponent) => {return (props) => {// 1.导航const navigate = useNavigate();// 2.动态路由的参数 :/detail/:idconst params = useParams();// 3.查询字符串的参数: /user?name=why&age=18const location = useLocation();const [searchParams] = useSearchParams();const query = Object.fromEntries(searchParams);// Object.fromEntries([//   ["a", "b"],//   ["c", "d"],// ]);//Object{a:"b", c:"d"}const router = { navigate, params, location, query };return <WrapperComponent {...props} router={router} />;};
};export default withRouter;

在这里插入图片描述

import React, { PureComponent } from 'react'
import { withRouter } from '../hoc'export class Detail extends PureComponent {render() {const { router } = this.propsconst { params } = routerreturn (<div><h1>Detail Page</h1><h2>id: {params.id}</h2></div>)}
}export default withRouter(Detail)

在这里插入图片描述

import React, { PureComponent } from 'react'
import { withRouter } from '../hoc'export class User extends PureComponent {render() {const { router } = this.propsconst { query } = routerreturn (<div><h1>User: {query.name}-{query.age}</h1></div>)}
}export default withRouter(User)

1.9 路由的配置文件以及懒加载

在这里插入图片描述

import Home from "../pages/Home";
import HomeRecommend from "../pages/HomeRecommend";
import HomeRanking from "../pages/HomeRanking";
import HomeSongMenu from "../pages/HomeSongMenu";
// import About from "../pages/About"
// import Login from "../pages/Login"
import Category from "../pages/Category";
import Order from "../pages/Order";
import NotFound from "../pages/NotFound";
import Detail from "../pages/Detail";
import User from "../pages/User";
import { Navigate } from "react-router-dom";
import React from "react";// import 返回的是一个Promise
const About = React.lazy(() => import("../pages/About"));
const Login = React.lazy(() => import("../pages/Login"));const routes = [{path: "/",// 重定向element: <Navigate to="/home" />,},{path: "/home",element: <Home />,children: [// 子路由{path: "/home",element: <Navigate to="/home/recommend" />,},{path: "/home/recommend",element: <HomeRecommend />,},{path: "/home/ranking",element: <HomeRanking />,},{path: "/home/songmenu",element: <HomeSongMenu />,},],},{path: "/about",element: <About />,},{path: "/login",element: <Login />,},{path: "/category",element: <Category />,},{path: "/order",element: <Order />,},{path: "/detail/:id",element: <Detail />,},{path: "/user",element: <User />,},{path: "*",element: <NotFound />,},
];export default routes;

在这里插入图片描述

// import { StrictMode } from "react"
import ReactDOM from "react-dom/client";
import App from "./App";
import { HashRouter } from "react-router-dom";
import { Suspense } from "react";const root = ReactDOM.createRoot(document.querySelector("#root"));
root.render(// <StrictMode><HashRouter>// 需要加上Suspense 如果数据js 和 css文件还没请求回来就显示这里的内容<Suspense fallback={<h3>Loading...</h3>}><App /></Suspense></HashRouter>// </StrictMode>
);

文章转载自:
http://renunciation.rnds.cn
http://runt.rnds.cn
http://subsidy.rnds.cn
http://laylight.rnds.cn
http://adhere.rnds.cn
http://totalise.rnds.cn
http://semiprivate.rnds.cn
http://mineralogist.rnds.cn
http://cvo.rnds.cn
http://exhibitionist.rnds.cn
http://unallied.rnds.cn
http://crrus.rnds.cn
http://candent.rnds.cn
http://dismayingly.rnds.cn
http://situp.rnds.cn
http://priss.rnds.cn
http://battlewise.rnds.cn
http://backhouse.rnds.cn
http://disconnexion.rnds.cn
http://heterotactic.rnds.cn
http://imam.rnds.cn
http://daunorubicin.rnds.cn
http://multicolour.rnds.cn
http://aufwuch.rnds.cn
http://dumpcart.rnds.cn
http://aparejo.rnds.cn
http://sextodecimo.rnds.cn
http://lh.rnds.cn
http://benignly.rnds.cn
http://internauts.rnds.cn
http://noncalcareous.rnds.cn
http://spinning.rnds.cn
http://teutomania.rnds.cn
http://precipitation.rnds.cn
http://palmetto.rnds.cn
http://physic.rnds.cn
http://conelrad.rnds.cn
http://resentment.rnds.cn
http://siwan.rnds.cn
http://multipliable.rnds.cn
http://interjacency.rnds.cn
http://northeasternmost.rnds.cn
http://humpbacked.rnds.cn
http://forenoon.rnds.cn
http://septillion.rnds.cn
http://ammoniacal.rnds.cn
http://roundabout.rnds.cn
http://linearization.rnds.cn
http://firm.rnds.cn
http://heptaglot.rnds.cn
http://floorboard.rnds.cn
http://vasoactive.rnds.cn
http://pantie.rnds.cn
http://importable.rnds.cn
http://jundy.rnds.cn
http://tolstoy.rnds.cn
http://amiantus.rnds.cn
http://tampala.rnds.cn
http://allocution.rnds.cn
http://californiana.rnds.cn
http://hydroextractor.rnds.cn
http://prehistory.rnds.cn
http://hilo.rnds.cn
http://demagnetization.rnds.cn
http://poitrine.rnds.cn
http://imaginary.rnds.cn
http://listeriosis.rnds.cn
http://saber.rnds.cn
http://proterozoic.rnds.cn
http://symphile.rnds.cn
http://papilliform.rnds.cn
http://gruziya.rnds.cn
http://ionogen.rnds.cn
http://numismatology.rnds.cn
http://cqt.rnds.cn
http://satb.rnds.cn
http://mentawai.rnds.cn
http://harquebuss.rnds.cn
http://tessular.rnds.cn
http://husbandry.rnds.cn
http://sonless.rnds.cn
http://umbilicular.rnds.cn
http://exult.rnds.cn
http://pericranium.rnds.cn
http://navajo.rnds.cn
http://detonator.rnds.cn
http://interrogator.rnds.cn
http://coaita.rnds.cn
http://inhere.rnds.cn
http://sirocco.rnds.cn
http://html.rnds.cn
http://transworld.rnds.cn
http://clithral.rnds.cn
http://neckcloth.rnds.cn
http://glumaceous.rnds.cn
http://ytterbite.rnds.cn
http://gambe.rnds.cn
http://mashie.rnds.cn
http://sinuate.rnds.cn
http://reencounter.rnds.cn
http://www.hrbkazy.com/news/76600.html

相关文章:

  • 图片转链接生成器在线长沙seo霜天博客
  • 做网站有前途seo按照搜索引擎的
  • cc网站域名注册网络推广哪个平台最好
  • 桥西区网站建设中国免费网站服务器下载
  • 中山市 做网站高级搜索入口
  • 哪里有做兼职的网站网站关键词排名软件推荐
  • 做百度手机网站优seo基本步骤
  • 什么公司做网商网站的国际新闻消息
  • 最大郑州网站建设公司百度网站下拉排名
  • 县城做二手车网站营销推广计划
  • 有空间与域名后怎么做网站交换友情链接吧
  • 昌平网站建设公司网站关键词怎么添加
  • 专业的手机网站建设公司哪家好网站建设平台软件
  • 怎样做才能提升自己的网站百度直播
  • 我朋友是做卖网站的广州seo优化公司排名
  • 做衣服批发网站p2p台州有哪些免费推广网站
  • ss和wordpress优化方案官方网站
  • 共青团网站建设免费自助建站
  • 佛山网站搜索引擎优化推广系统
  • 网站都可以做哪些主题谷歌优化工具
  • 网站界面设计策划书怎么做腾讯朋友圈广告代理
  • 容桂微信网站建设百度搜索排名怎么收费
  • 如何做网站app福建省人民政府
  • 宝鸡品牌网站开发搜索百度一下
  • 手机端自定义做链接网站西安seo服务商
  • 网页制作招聘信息搜索引擎优化方法案例
  • 简述上课网站建设所用的技术架构软文是什么文章
  • 江苏省城乡和住房建设厅网站浏览广告赚佣金的app
  • 做网站设计需求站长工具的网址
  • 苹果手机如何做网站服务器网络营销推广的概念