2017-01-18 5 views
0

Я использовал webpack @ beta и [email protected], сконфигурировал разделение кода с помощью документа с обратным маршрутизатором.Мой компонент визуализируется изначально после конфигурирования разбиения кода.

После настройки мой компонент визуализируется изначально.

Мой компонент будет извлекать данные на componentDidMount, и визуализировать данные, при первоначальном рендеринге отображается только пустой div, поэтому я получил только пустой div.

Один мой маршрут, как это: <Route path="shopper-center" getComponent={() => System.import('./ShopperCenter').then(c => c.ShopperCenter)}/>, история реагировать-маршрутизатор browserHistory

UPDATE 1: Я попытался <Route path="shopper-center" getComponent={(nextState, cb) => System.import('./ShopperCenter').then(c => cb(null,c.ShopperCenter))}/>, это не работает для меня.

ОБНОВЛЕНИЕ 2: У меня есть другой компонент, он просто выводит текст, так что компонент отлично работает с кодовым разделением.

ответ

0

Для асинхронной загрузки компонентов требуется использовать callback argument.

<Route 
    path="shopper-center" 
    getComponent={(nextState, cb) => { 
    System.import('./ShopperCenter') 
     // if you export default, you need to import default 
     .then(c => cb(null, c.default)) 
    }} 
    /> 

Редактировать Похоже было, что merged pull request добавлена ​​поддержка Обещают getComponent, в этом случае вам больше не придется использовать функцию обратного вызова.

+0

спасибо Пол, но это не сработает для меня, я попытался вызвать 'cb', как и ваш предоставленный, он просто визуализируется изначально, у меня есть другой« маршрут », он отлично работает, потому что этот компонент просто визуализирует один раз, например это: System.import ('./ Index'), затем (c => c.Route404)} /> – dawncold

+0

Чтобы быть уверенным, в вашем 'ShopperCenter .js', вы экспортируете свой компонент как 'ShopperCenter', а не как' default', правильно? –

+0

Для этого компонента я экспортировал его по умолчанию, например: 'export default ShopperCenter;' О, после того, как я перешел на 'c.default', он работает! – dawncold

 Смежные вопросы

  • Нет связанных вопросов^_^