Запишите asynccomponent в конфиг реагирующего маршрутизатора для отложенной загрузки - PullRequest
0 голосов
/ 15 мая 2018

Я новичок, чтобы реагировать.Пытаюсь лениво загрузить компоненты.Использую рендеринг на стороне сервера вместе с config config router.Мне нужно лениво загрузить компоненты.

asyncComponent.js

import React, { PureComponent } from 'react';

export default class  extends PureComponent {
 constructor(props) {
super(props);

this.state = {
  Component: null
}
}

componentWillMount() {
if(!this.state.Component) {
  this.props.moduleProvider().then( ({Component}) => this.setState({ Component }));
}
}

render() {
const { Component } = this.state;

//The magic happens here!
return (
  <div>
    {Component ? <Component /> : ''}
  </div>
);
 }
 };

Route.js

import React from 'react';
import App from './app';
import asyncComponent from './asyncComponent';

const Home = asyncComponent.moduleProvider(import('./components/Home'));

const routes = [{
    component: App,
    routes: [
        {
          path : '/',
          exact: true,
          component: Home
        }
    ]
}];

export default routes;

Я ссылался на пример из [https://github.com/rubenspgcavalcante/react-webpack-lazy-loading.git][1]

Это исключение.Это правильный способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...