Reactjs 用于在一个文件中导出模块的es6语法
我想要一个index.js来定义我所有的react组件,如下所示:Reactjs 用于在一个文件中导出模块的es6语法,reactjs,ecmascript-6,Reactjs,Ecmascript 6,我想要一个index.js来定义我所有的react组件,如下所示: import App from './app'; import Home from './home'; export App; export Home; 然后我在另一个文件中引用它们: import { App, Home } from './components/index'; ReactDOM.render( <Provider store={store}> <Router history
import App from './app';
import Home from './home';
export App;
export Home;
然后我在另一个文件中引用它们:
import { App, Home } from './components/index';
ReactDOM.render(
<Provider store={store}>
<Router history={history}>
<Route path="/" component={App}>
<IndexRoute component={Home}/>
</Route>
</Router>
</Provider>,
document.getElementById('theContent')
);
导出如下所示
import App from './app';
import Home from './home';
export {App, Home};
希望这个对你有用
或者,您可以按如下方式编写导入(命名对象引用)
import*作为组件从“./Components/index”导入;
ReactDOM.render(
,
document.getElementById('theContent')
);
这不是使用导出的正确方法
这个
应该是
export {App, Home}
或
我最近也遇到过同样的问题,本质上,
export
并不是设计用于这种方式的——它“用于导出函数、对象或原语”,而不是“导入的模块”,但您可以通过将import
ed模块分配给普通对象,然后export default
ing该对象来模拟它
import App from './app';
import Home from './home';
const exports = {
App,
Home,
};
export default exports;
不幸的是,您必须导入整个对象,但是如果主要目的只是拥有一个模块导入点,那可能还不太糟糕
如果这种行为在我们获得本机实现而不是受到Transpiler的限制时发生变化,我不会感到惊讶,但这种解决方案不会太冗长或不可读。注意从“/App”导出应用程序
是一个语法建议,但不是官方的。您可以从“/App”执行导出{defaultasapp}代码>不过。
export App;
export Home;
export {App, Home}
export App from './app';
export Home from './home';
import App from './app';
import Home from './home';
const exports = {
App,
Home,
};
export default exports;