中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在React中使用require.ensure()按需加載ES6組件

發布時間:2021-03-30 17:11:48 來源:億速云 閱讀:278 作者:Leah 欄目:web開發

本篇文章給大家分享的是有關怎么在React中使用require.ensure()按需加載ES6組件,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

首先介紹下動態加載函數:

require.ensure([], (require)=>{
  let A = require('./a.js').default;
})

如果想要動態加載出es6代碼組件,直接require一個es6風格的組件是不行的,因為一般的語言編譯工具(如babel),不支持直接require一個es6風格的組件。

那么有種辦法可以解決:在es6方式書寫的組件底部增加一句:module.exports = YouclassName;

import React, {Component} from 'react';

export default class Father extends Component {
  constructor (props)=>{
    super();
    this.state = {
      currentComponent:null
    }
  }

  doSomething = () => {
    require.ensure(['./app2'], (require) => {
      const Comp = require('./app2');
      this.setState({
        currentComponent:<Comp />
      })
    })
  }

  render () {
    return (
      <div>
        <span onClick={this.doSomething} >
          點擊后,按需加載模塊~
        </span>
        {this.state.currentComponent}
      </div>
    )
  }
}

app2

import React,{Component} from 'react';
export default class Hello extends Component {
  render () {
    return (
      <div>你好,祝你幸福,再見~</div>
    )
  }
}


module.exports= Hello;

因為在require.ensure()中使用了require()引入模塊,所以組件后必須用module.exports導出組件;

以上就是怎么在React中使用require.ensure()按需加載ES6組件,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵州省| 咸丰县| 麻城市| 枝江市| 石台县| 新余市| 多伦县| 内丘县| 紫阳县| 安福县| 正宁县| 余江县| 五家渠市| 漯河市| 塘沽区| 平武县| 吉林市| 加查县| 安图县| 玉林市| 九寨沟县| 泊头市| 杨浦区| 新邵县| 广水市| 彝良县| 西畴县| 德钦县| 辰溪县| 唐河县| 穆棱市| 九台市| 汽车| 湄潭县| 沈丘县| 东乌珠穆沁旗| 遂川县| 莎车县| 从江县| 襄汾县| 双柏县|