Разделение кода React Router Webpack 2 — использование getChildRoutes()

Когда я перехожу к /home, у меня появляется навигационная панель, на которой отображается домашний значок, сведения о, настройки и т. д. Компонент, который отображает эту навигационную панель, находится внутри HomeContainer. Основываясь на URL-адресе, я хочу загрузить маршруты HomeContainer. Я использую wepback 2, разделение кода, реагирующий маршрутизатор 3.

Вот мой файл маршрутов

import React from 'react';
import { Router, hashHistory } from 'react-router';
import App from './components/App';
import Portal from './components/portal/Portal';

const componentRoutes = {
  component: App,
  path: '/',
  indexRoute: { component: Portal },
  childRoutes: [
    {
      path: 'login',
      getComponent(location, cb) {
        System.import('./components/login/Login')
          .then(module => cb(null, module.default));
      }
    },
    {
      path: 'home',
      getComponent(location, cb) {
        System.import('./components/homepage/HomeContainer')
          .then(module => cb(null, module.default));
      },
      getIndexRoute(partialNextState, callback) {
        require.ensure([], function (require) {
          callback(null, {
            component: require('./components/homepage/Home'),
          })
        })
      },
      getChildRoutes(partialNextState, callback) {
        require.ensure([], function (require) {
          callback(null, [
            require('./components/homepage/About').default
          ])
        })
      }
    }
  ]
};

const Routes = () => {
  return <Router history={hashHistory} routes={componentRoutes} />
};

export default Routes;

Проблема в том, как заставить компонент about отображаться? Я хочу иметь возможность перейти к /home/about и загрузить его как дочерний маршрут HomeContainer.


person user2465134    schedule 02.05.2017    source источник
comment
проверить этот блог - medium.com/prod-io/   -  person mindaJalaj    schedule 02.05.2018


Ответы (1)


person    schedule
comment
вы могли бы подумать о добавлении некоторых объяснений - person Yahya Hussein; 24.04.2018