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

自己给别人做网站挣钱吗2024年将爆发新瘟疫

自己给别人做网站挣钱吗,2024年将爆发新瘟疫,宁波外贸网站制作,wordpress纯代码添加海报文章目录 前言一、路由配置和懒加载lazy的使用二、TS版本Error Boundary组件封装三、在layout组件中使用Suspense组件和错误边界组件总结 前言 本文将详细介绍项目中的页面路由配置和异步组件懒加载处理,以提高用户体验,实现过渡效果。 一、路由配置和懒…

文章目录

  • 前言
  • 一、路由配置和懒加载lazy的使用
  • 二、TS版本Error Boundary组件封装
  • 三、在layout组件中使用Suspense组件和错误边界组件
  • 总结


前言

本文将详细介绍项目中的页面路由配置和异步组件懒加载处理,以提高用户体验,实现过渡效果。


一、路由配置和懒加载lazy的使用

(1)在React中,通常使用Suspense和lazy函数来实现懒加载,比如使用一个加载动画。
(2)通过这种方式,可以减少初始加载时间,提高应用程序的性能和响应速度。

// @/router/index.ts
import { lazy } from "react";
import { Navigate, RouteObject } from "react-router-dom";
const Layout = lazy(() => import("@/layout"));
const NotFound = lazy(() => import("@/pages/NotFound/index"));
const Home = lazy(() => import("@/pages/Home"));
const NervosDao = lazy(() => import("@/pages/NervosDao"));
const Tokens = lazy(() => import("@/pages/Tokens"));
const Xudts = lazy(() => import("@/pages/Xudts"));
const Charts = lazy(() => import("@/pages/Charts"));
const FeeRateTracker = lazy(() => import("@/pages/FeeRateTracker"));
const routes: RouteObject[] = [{path: "/",element: <Navigate to={`/zh/home`} />,},{path: "/:locale",element: <Navigate to={`/zh/home`} />,},{path: "/:locale",element: <Layout />,children: [// 其他子路由配置{path: "/:locale/home",element: <Home />,},{path: "/:locale/nervosdao",element: <NervosDao />,},{path: "/:locale/tokens",element: <Tokens />,},{path: "/:locale/xudts",element: <Xudts />,},{path: "/:locale/charts",element: <Charts />,},{path: "/:locale/fee-rate-tracker",element: <FeeRateTracker />,},],},{path: "/404",element: <NotFound />,},{path: "*",element: <Navigate to={`/404`} />,},
];
export default routes;

二、TS版本Error Boundary组件封装

// @/components/ErrorBoundary/index.jsx
import * as React from "react";
interface PropsType {children: React.ReactNode;
}
interface StateType {hasError: boolean;Error?: null | Error;ErrorInfo?: null | React.ErrorInfo;
}
export class ErrorBoundary extends React.Component<PropsType, StateType> {constructor(props: PropsType) {super(props);this.state = {hasError: false,Error: null,ErrorInfo: null,};}//控制渲染降级UIstatic getDerivedStateFromError(error: Error): StateType {return { hasError: true };}//捕获抛出异常componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {//传递异常信息this.setState((preState) => ({ hasError: preState.hasError, Error: error, ErrorInfo: errorInfo }));//可以将异常信息抛出给日志系统等等//do something....}render() {const { hasError, Error, ErrorInfo } = this.state;const { children } = this.props;//如果捕获到异常,渲染降级UIif (hasError) {return (<div><h1>{`Error:${Error?.message}`}</h1><details style={{ whiteSpace: "pre-wrap" }}>{ErrorInfo?.componentStack}</details></div>);}return children;}
}

三、在layout组件中使用Suspense组件和错误边界组件

// @/layout/index.tsx
import { Suspense } from "react";
import { ErrorBoundary } from "@/components/ErrorBoundary";
const LayOut = () => {// ....return (// ...<Suspense fallback={<span>loading...</span>}><ErrorBoundary><Outlet /></ErrorBoundary></Suspense>// ...);
};
export default LayOut;

总结

下一篇讲【国际化配置】。关注本栏目,将实时更新。

http://www.dt0577.cn/news/15822.html

相关文章:

  • 动态网站的工作原理域名查询网站信息
  • 办公室装修案例seo软件推广
  • 关于计算机网站开发的论文题目收录查询工具
  • java 企业网站建设360营销推广
  • 深圳做棋牌网站建设哪家公司便宜郑州网站策划
  • 桥东区网站建设seo关键词排名工具
  • 网站做外链软件爱站工具包的模块有哪些
  • 怎么学做网站制作小辉seo
  • 创意活动策划网站nba最新排名
  • 网站怎么做的支付宝模板免费网站建设
  • 厦门 微网站制作惠州seo整站优化
  • 做网站用vps还是虚拟主机seo编辑的工作内容
  • 洮南网站推广app赚佣金
  • 已有域名怎么建设网站seo营销怎么做
  • 做网站得花多少钱百度浏览器在线打开
  • 石家庄新钥匙网站建设肇庆seo按天收费
  • axure做网站效果图步骤武汉最新今天的消息
  • 新闻网站跟贴怎么做沧州网站seo
  • 图文排版设计国内seo公司排名
  • 江苏网站建设公司哪家好seo平台优化
  • 个人网站用移动硬盘做服务器手机百度搜索
  • 做软件跟网站哪个难百度引擎
  • 网站建设品牌好域名查询
  • 做网站横幅技巧什么是网站推广?
  • 免费做国际网站线上电脑培训班
  • 上海建设工程咨询网站安卓优化大师
  • 专业武汉网站建设公司网络推广团队哪家好
  • 校园门户网站建设实施方案找培训班一般在什么平台
  • 十九届六中全会北京网优化seo公司
  • 学校网站开发价格朝阳区seo搜索引擎优化怎么样