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

网站建设文化代理商做公司简介需要多少钱

网站建设文化代理商,做公司简介需要多少钱,网站开发做原型吗,株洲做网站 省心磐石网络react动态路由组件的封装 我这篇比较全面 首先下载包 npm i react-router-dom5 这里为什么要用5的版本为啥不用最新的#xff0c;原因在于老版本跟新版本写法不一样 老版本 import { HashRouter, Route, Switch, Redirect } from react-router-dom;render() {return (Ha…react动态路由组件的封装 我这篇比较全面 首先下载包 npm i react-router-dom5 这里为什么要用5的版本为啥不用最新的原因在于老版本跟新版本写法不一样 老版本 import { HashRouter, Route, Switch, Redirect } from react-router-dom;render() {return (HashRouterSwitchRoute exact path/home component{Home} //Switch/HashRouter)}新版本 import { HashRouter, Route, Routes, Navigate} from react-router-dom;render() {return (HashRouterRoutesRoute path/login element{Login/}/Route/Routes/HashRouter)}区别 以前是用Switch包裹现在用的是Routes 以前 组件是component函数名现在要写成组件形式并且是element组件名/以前重定向Redirect ,现在Navigate 了解以上这些 我们这里开始封装一些组件 这里我讲解两种方式 第一种异步加载路由 1.首先创建一个异步加载路由函数 asyncComponent.js import React from react; export default function asyncComponent(importComponent) {class AsyncComponent extends React.Component {constructor(props) {super(props);this.state {component: null};}async componentDidMount() {const { default: component } await importComponent();this.setState({ component });}render() { const Component this.state.component;return Component ? Component {...this.props} / : null;}}return AsyncComponent; }2.创建路由容器文件 map.js import asyncComponent from ./until/asyncComponent; //引入刚才的函数 export default [{path: /home,component: asyncComponent(() import(/* webpackChunkName: modules/digitalVillage/index */ ../views/home/index))},{path: /CodeScan/houseCode,component: asyncComponent(() import(/* webpackChunkName: modules/digitalVillage/index */ ../views/myself/index))}, ]3.创建视图路由文件 touterView.js //这里用的5点几版本 由于最新的里面要传组件 我传过去了但是没显示有兴趣的可以去试一下最新的路由方式 import React from react; import { HashRouter, Route, Switch, Redirect } from react-router-dom; //这里定义重定向跟普通函数跳转 export const routeCreate (props) { return { type: Route, props }; }; export const redirectCreate (props) {return { type: Redirect, props }; }; //最终返回的路由 export default class extends React.Component {renderItem (item, index) {let Component null;const { type, props } item;if (type Route) {Component Route;} else if (type Redirect) {Component Redirect;}return Component ? (Component key{index} {...props} /) : null;};componentDidCatch(error, info) {console.error(error);console.log(info);}render() {const { data } this.props;return (HashRouterSwitch{data.map((item, index) this.renderItem(item, index))}/Switch/HashRouter)} } 4.创建路由中间件 index.js import React from react; import RouterView, { routeCreate, redirectCreate } from ./until/routerView; import routerMap from ./map; // const routerData [redirectCreate({ from: /, to: /CodeScan/houseCode, exact: true }),//重定向页...routerMap.map(routeCreate) ]; export default class extends React.Component {render() {return (RouterView data{routerData} /);} }最终在app里面加载就好了 第二种方式路由的懒加载 1.创建一个懒加载lazy函数 npm i react-loadable import React from react import Loadable from react-loadable; import loadCom from ../../views/load //懒加载等待页面自己定义 //过场组件默认采用通用的若传入了loading则采用传入的过场组件 export default (loader, loading loadCom) {return Loadable({loader,loading}); } 2.mapjs 路由容器 import loadable from ./until/loadLazyexport default [{path: /home,component: loadable(() import(../views/home))},]3.视图路由跟路由中间件是一样的 以上就是路由懒加载跟异步的封装
http://www.dnsts.com.cn/news/143836.html

相关文章:

  • 个人未授权做的网站绵阳网站建设怎么选
  • 内部购物券网站怎么做凡科网是免费的吗
  • 朝阳专业网站建设公司pc网站 手机网站 微网站
  • 免费自己做网站吗展厅装饰公司
  • 利用网站宣传 两学一做弥勒网站开发
  • 适合机械网站的wordpress主题模板阿里云虚拟主机免费版
  • 潍坊网站制作公司冷水滩做微信网站
  • 苏州网站建设布局网站文章伪原创怎么做
  • 建站公司 商城株洲搜索引擎优化
  • 怎样自己做网络推广网站绍兴百度seo公司
  • 廊坊哪里有做阿里巴巴网站的福田欧曼图片
  • 如何查看网站名称安徽池州做企业网站
  • 东莞网站建设 乐云践新网页制作制作公司
  • 上海网站建站建设html入门
  • 嘉鱼网站建设多少钱网站开发方式有
  • 自己弄个网站个人做收费网站
  • 做销售的去哪个网站应聘做枪版视频网站犯法吗
  • 河北建设网站公司企业营销策划是什么
  • 深圳国外网站建设如何申请网站域名流程
  • 做汽车商城网站wordpress文件上传管理系统
  • 广州市建设职业培训学校网站义乌外贸公司网站
  • 企业网站公众号英文网站如何推广
  • c2c网站代表有哪些运城注册公司
  • 网站优化 工具微站小程序
  • 网站制作导航栏怎么做wordpress后台不能登陆
  • 中商外贸网站网站建设大题
  • 境外建网站企业文化管理咨询
  • 杭州网站改版公司电话湖北省建设厅网站首页
  • 有个网站是做视频相册的app商城系统开发
  • 辽宁网站建设的网络科技公司门户网站建设会议纪要