Bawię się React
i ES6
używam babel
i webpack
. Chcę zbudować kilka komponentów w różnych plikach, zaimportować je w jednym pliku i połączyć je zwebpack
Powiedzmy, że mam kilka takich komponentów:
my-navbar.jsx
import React from 'react';
import Navbar from 'react-bootstrap/lib/Navbar';
export class MyNavbar extends React.Component {
render(){
return (
<Navbar className="navbar-dark" fluid>
...
</Navbar>
);
}
}
main-page.jsx
import React from 'react';
import ReactDOM from 'react-dom';
import MyNavbar from './comp/my-navbar.jsx';
export class MyPage extends React.Component{
render(){
return(
<MyNavbar />
...
);
}
}
ReactDOM.render(
<MyPage />,
document.getElementById('container')
);
Używając webpacka i postępując zgodnie z ich samouczkiem, mam main.js
:
import MyPage from './main-page.jsx';
Po zbudowaniu projektu i uruchomieniu go w konsoli przeglądarki pojawia się następujący błąd:
Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. Check the render method of `MyPage`.
Co ja robię źle? Jak mogę poprawnie importować i eksportować moje komponenty?
export
szczegóły słowa kluczowego tutaj . Obecnie żadna z przeglądarek internetowych nie obsługuje tego natywnie.