Home > Web Front-end > JS Tutorial > body text

Tutorial on how to dynamically load ES6 code components

零下一度
Release: 2017-05-13 10:48:11
Original
2197 people have browsed it

This article mainly introduces the detailed explanationReactUsing require.ensure() in development to load ES6 components on demand, which is of great practical value. Friends in need can refer to it

First introduce the dynamic loading function:

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

If you want to dynamically load an es6 code component, it is not possible to directly require an es6 style component, because general language compilation tools (such as babel), Directly requiring an es6-style component is not supported.

Then there is a way to solve it: add a sentence at the bottom of the component written in es6 mode: 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 (
      <p>
        <span onClick={this.doSomething} >
          点击后,按需加载模块~
        </span>
        {this.state.currentComponent}
      </p>
    )
  }
}
Copy after login

app2

import React,{Component} from &#39;react&#39;;
export default class Hello extends Component {
  render () {
    return (
      <p>你好,祝你幸福,再见~</p>
    )
  }
}

module.exports= Hello;
Copy after login

Because in require require() is used in .ensure() to introduce the module, so the component must be exported using module.exports;

[Related recommendations]

1. Special recommendation: "php Programmer Toolbox" V0.1 version download

2 . Free js online video tutorial

3. php.cn Dugu Jiujian (3) - JavaScript video tutorial

The above is the detailed content of Tutorial on how to dynamically load ES6 code components. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template