博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react中异步组件以及withRouter的使用
阅读量:5817 次
发布时间:2019-06-18

本文共 1412 字,大约阅读时间需要 4 分钟。

什么是异步组件?简单来说就是异步加载一个组件,正常情况浏览器加载的是我们打包好的bundle.js文件,那么这个文件是集合了所有js是代码,然而我们首屏加载并不需要一次性加载所有的组件,这会造成性能的损耗,所以我们可以使用异步组件,推荐使用(react-loadable)https://github.com/jamiebuilds/react-loadable,那么使用react-loadable就会造成路由跳转的问题,所以我们需要使用withRouter来解决,withRouter组件的功能是让当前组件有能力获取到所有的参数和内容

//首先要下载yarn add react-loadable//loadable.js文件import React from 'react';import Loadable from 'react-loadable';const LoadableComponent = Loadable({  loader: () => import('./'),  //./需要异步的组件  loading(){    return 
正在加载
//可以加载一些好看的loading }});export default () =>
;
//index.js文件import React, { Component } from 'react';import { withRouter } from 'react-router-dom';import { connect } from 'react-redux';class Detail extends Component{    render(){        console.log(this.props.match.params.id);  //这时候就可以获取到了,页面也不会报错了        return(
); }}export default connect(mapState, mapDispatch)(withRouter(Detail));//路由部分import React, { Component } from 'react';import { BrowserRouter, Route } from 'react-router-dom';import { Provider } from 'react-redux';import store from './store';import Detail from './pages/detail/loadable.js';class App extends Component{ render(){ return(
); }}

 

转载于:https://www.cnblogs.com/lanshu123/p/10657783.html

你可能感兴趣的文章
现实世界的Windows Azure:采访Soluto的创始人Tomer Dvir
查看>>
JsonCpp 的使用
查看>>
问题账户需求分析
查看>>
JavaSE-代码块
查看>>
爬取所有校园新闻
查看>>
北京大学软件与微电子学院嵌入式系统工程系
查看>>
POP3接收邮件
查看>>
32、SpringBoot-整合Dubbo
查看>>
python面向对象基础
查看>>
组装服务器注意事项
查看>>
HDU 2044 一只小蜜蜂(递归)
查看>>
docker 下 安装rancher 笔记
查看>>
spring两大核心对象IOC和AOP(新手理解)
查看>>
数据分析相关
查看>>
无插件用Terminal/TotalTerminal的开当前finder位置
查看>>
Oracle优化器
查看>>
【转】 纯技术帖:MMOG网络同步算法揭秘
查看>>
mysql乱码处理一则
查看>>
cf #345 div2 C(Vasya and String。双端队列)
查看>>
Python LDAP中的时间戳转换为Linux下时间
查看>>