Ich versuche dynamische Codeaufteilung mit Webpack 2 zu implementieren und zu reagieren. Um zu testen, habe ich eine Komponente erstellt, die asynchron in Code zieht:Warum reagiert diese Komponente, die mit System.import importiert wurde, nicht?
import React, { Component } from 'react'
export class Async extends Component {
constructor(props) {
super(props)
this.state = { component: <div>Loading</div> }
}
componentDidMount() {
System.import('../../about')
.then(component => this.setState({ component: component.About }))
.catch(error => this.setState({ component: <div>{error.message}</div> }))
}
render() {
return this.state.component
}
}
Allerdings, wenn ich es montieren, es gibt den folgenden Fehler:
Async.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.
Einlochen console.log (this.state .component) in Async
‚s-Funktion ergibt sich folgende render:
So falsch hier, was los ist? Es scheint, als würde ich gültige Reaktionskomponenten erhalten, warum wirft es einen Fehler auf?
Sollte 'importieren Reagieren, {Komponente} von 'reagieren'' nicht 'importieren {Reagieren, Komponente} von 'reagieren'? – evolutionxbox
@evolutionxbox Nein, Reagieren ist der Standard-Export des Pakets 'react' – vsjn3290ckjnaoij2jikndckjb