我正在使用 babel
和 webpack
,尝试着用 React
和 ES6
制作一些组件。我希望将这些不同的组件放在不同的文件中,然后在一个文件中引入它们,并用 webpack
打包起来。
假设我有几个像这样的组件:
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')
);
我使用webpack并按照他们的教程,现在我有了main.js
文件:
import MyPage from './main-page.jsx';
在构建项目并运行后,我在浏览器控制台中看到了以下错误:
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`.
我做错了什么?我该如何正确地导入和导出组件?
export
关键字的详细信息请参见此处。目前,它在任何 Web 浏览器中都没有本地支持。 - RBT