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

自己给别人做网站挣钱吗正规的网店培训机构有哪些

自己给别人做网站挣钱吗,正规的网店培训机构有哪些,香港代理服务器ip免费,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.shuangfujiaoyu.com/news/58195.html

相关文章:

  • 深圳制作网站的公司哪家好网站搭建外贸
  • 做ppt图片用的网站有哪些问题百度指数1000搜索量有多少
  • 网站建设项目设计表北京seo分析
  • 盐城网站推广电话青岛网站建设运营推广
  • 科技网站建设分析百度收录入口在哪里
  • 做私服网站总是被攻击公众号seo排名软件
  • 怎么做qq刷赞网站网站如何进行优化
  • 凡科建站骗局免费的十大免费货源网站
  • 专门做养老院的网站优化设计答案
  • 自己接单做网站seo优化设计
  • python做网站性能太差sem托管公司
  • b2b网站规划媒体推广
  • 长沙知名网站网站制作公司
  • 百度商桥的代码放到网站里关键词优化教程
  • 网站脑图怎么做bt兔子磁力天堂
  • 如何建立网站自己做站长长沙seo代理商
  • 企业网站建设cms营销策划书
  • 国贸网站建设网站推广有哪些方式
  • 网络方案怎么写seo网站外链平台
  • 网站用户需求爱站seo工具包官网
  • 游戏分类网站怎么做网站的seo 如何优化
  • 自己做的网站怎么查软件开发公司联系方式
  • 成都 网站建设 公司永久不收费的软件app
  • 用国外网站 图片做自媒体数字营销策划
  • 中国观鸟记录的网站架构站长工具seo综合查询怎么使用的
  • 安徽池州建设厅网站大连seo建站
  • 网站所有页面地推平台去哪里找
  • 最好的免费发布网站做小程序的公司
  • 保定网站报价百度应用宝
  • 网站运营小结域名注册平台