最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

react開發(fā)中如何使用require.ensure加載es6風格的組件

 更新時間:2017年05月09日 15:08:02   作者:@si  
本篇文章主要介紹了react開發(fā)中如何使用require.ensure加載es6風格的組件,具有一定的參考價值,感興趣的小伙伴們可以參考一下

其實用的babel,在瀏覽器端就應該可以加載,之前少了個default:

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

以下方式也可以,但是比較low,可以作廢了:

1、問題提出:想通過require.ensure加載es6風格的模塊?

2、出現(xiàn)問題:import方式本身就是靜態(tài)設計方式。如果require進來的是commonjs模塊或者amd則沒問題,但項目只想es6一個書寫風格,行嗎?

遺憾的是:一般語言編譯工具(如babel),不支持直接require一個es6風格的React組件。

怎么辦??

3、react代碼分割方式:

react代碼分割常見使用router方式,但是單頁面應用,不打算router下,可以用require.ensure進行按需加載

react的api在此:https://webpack.github.io/docs/code-splitting.html

文檔中并沒有實例,而且現(xiàn)階段,大部分程序已經(jīng)完全按照es6風格的代碼。

那么怎樣讓es6模塊也能通過require呢?

先看結(jié)論:在es6方式書寫的模塊底部增加一句module.exports=yourclassName

例如:module.exports = Hello;

4、代碼舉例:

1)Container模塊如下:

import React, {Component} from 'react';
export default class Container extends Component {
  constructor() {
    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} style={{border: "1px solid #000"}}>點擊后,按需加載如下模塊</span>
        {this.state.currentComponent}
      </div>
    )
  }
}

2)app2模塊如下

注意:在es6方式寫的模塊的最底下增加一句:module.exports = Hello;即可

或者app2直接按照commonjs規(guī)范或者是amd、cmd規(guī)范書寫也成。

import React from 'react'
export default class Hello extends React.Component {
  render(){
    return (
      <div>Hello</div>
    )
  }
}
//warning:這一句必須加上,因為在require.ensure中使用了require引入模塊
module.exports = Hello;

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解react-router-dom v6版本基本使用介紹

    詳解react-router-dom v6版本基本使用介紹

    本文主要介紹了react-router-dom v6版本基本使用介紹,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • React?18中的state概念與使用、注意問題解決

    React?18中的state概念與使用、注意問題解決

    state和props類似,都是一種存儲屬性的方式,但是不同點在于state只屬于當前組件,其他組件無法訪問,這篇文章主要介紹了React?18中的state概念與使用、注意問題,需要的朋友可以參考下
    2022-12-12
  • 關(guān)于useEffect執(zhí)行兩次的問題及解決

    關(guān)于useEffect執(zhí)行兩次的問題及解決

    這篇文章主要介紹了關(guān)于useEffect執(zhí)行兩次的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • React?Context原理深入理解源碼示例分析

    React?Context原理深入理解源碼示例分析

    這篇文章主要為大家介紹了React?Context原理深入理解源碼示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • 基于React封裝組件的實現(xiàn)步驟

    基于React封裝組件的實現(xiàn)步驟

    很多小伙伴在第一次嘗試封裝組件時會和我一樣碰到許多問題,本文主要介紹了基于React封裝組件的實現(xiàn)步驟,感興趣的可以了解一下
    2021-11-11
  • React-router4路由監(jiān)聽的實現(xiàn)

    React-router4路由監(jiān)聽的實現(xiàn)

    這篇文章主要介紹了React-router4路由監(jiān)聽的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • React中的useEffect(副作用)介紹

    React中的useEffect(副作用)介紹

    這篇文章主要介紹了React中的useEffect(副作用),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • React實現(xiàn)點擊刪除列表中對應項

    React實現(xiàn)點擊刪除列表中對應項

    本文主要介紹了React 點擊刪除列表中對應項的方法。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • React中用@符號編寫文件路徑實現(xiàn)方法介紹

    React中用@符號編寫文件路徑實現(xiàn)方法介紹

    在Vue中,我們導入文件時,文件路徑中可以使用@符號指代src目錄,極大的簡化了我們對路徑的書寫。但是react中,要想實現(xiàn)這種方式書寫文件路徑,需要寫配置文件來實現(xiàn)
    2022-09-09
  • React 路由懶加載的幾種實現(xiàn)方案

    React 路由懶加載的幾種實現(xiàn)方案

    這篇文章主要介紹了React 路由懶加載的幾種實現(xiàn)方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10

最新評論

玛纳斯县| 沙坪坝区| 安岳县| 新宾| 潢川县| 台北市| 通榆县| 石首市| 色达县| 新民市| 明水县| 大石桥市| 吉安市| 寿光市| 宁乡县| 景洪市| 沐川县| 临武县| 分宜县| 绥中县| 龙门县| 上高县| 鄂托克旗| 霍城县| 芦山县| 无为县| 芦溪县| 景宁| 那坡县| 呼玛县| 会同县| 旬邑县| 仁寿县| 屯门区| 阳信县| 北京市| 兴山县| 景洪市| 海门市| 三穗县| 定州市|