vs code 代码提示不全_React中的组件引入方式-lazy(代码分割)

10b2e45f7164dcbd8a5d5d4dd74180b0.png

在react中经常使用就是组件的嵌套以此来解决比较麻烦的UI显示问题,旨在管理、复用

那么组件引入的方式就值得去思考怎样去解决在大项目中繁杂的组件引入、组件加载问题,今天React官方有一个例子,更好的引入方式,进行代码分割,更好的加载方式:

如果你等不及就点击下面的链接:

Code-Splitting – React​reactjs.org
334e843acf7b73c44ff7b01f524f18c8.png
React代码分割​zh-hans.reactjs.org

其实这个代码分割的核心意思就是:项目越来越大,体积增加,故而采取一种代码分割的手段进行动态引入组件

以下是代码展示:

import React, { Fragment, lazy } from 'react'
const Son = lazy(() => import('./Son')) // 就是使用lazy这种方式来加载

const Dialog = () => {
  return (<Fragment>
    <FancyBorder
      title='welcome'
      message='欢迎来到react组合 vs 继承'
    />
    <Son/>
  </Fragment>)
}

const FancyBorder = (props) => {
  return (<Fragment>
    <div>
      <h1>{props.title ? props.title : '提示框'}</h1>
      <p>{props.message}</p>
    </div>
  </Fragment>)
}

export default Dialog

如果您是基于路由的代码分割,那以下代码作为参考:

import React, { Suspense, lazy } from 'react'
import {
  BrowserRouter as Router,
  Switch,
  Route
} from 'react-router-dom'

import Test from './components/Test'
import Combination from './components/Combination'
import Layout from './components/Layout'
import LayoutDemo from './components/LayoutDemo'

const Dialog = lazy(() => import('./components/Dialog')) // lazy引入方式

const Routers = () => {
  return (
    <Router>
      <Suspense fallback={<div>Loading...</div>}>  {/*Suspense 也要添加,*/}
        <Switch>
          <Route path='/' component={Dialog}/>
          <Route path='/layoutdemo' component={LayoutDemo}/>
          <Route path='/layout' component={Layout}/>
          <Route path='/com' component={Combination}/>
          <Route path='/test' component={Test}/>
        </Switch>
      </Suspense>
    </Router>
  )
}

export default Routers

以上即是组件的引入方式,如果大家有兴趣,请大家移步官网查看详细文档,博客再详细也是文档的借鉴给人以思路,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值