Meteor 1.5.2.2 - "每个模块只允许一次默认导出"错误

时间:2017-10-09 18:20:51

标签: reactjs meteor

运行此代码时,它会向我显示此错误:

  

每个模块只允许一次默认导出

在1.4.x.x中它是工作文件,但在新的它显示我这个错误...任何人都可以建议我应该做的事情:

1)从1.5.x.x转回1.4.x.x. 2)如果是这样,那么建议我使用稳定版本

import {createContainer} from 'meteor/react-meteor-data';
import { Stus } from '../api/stus';

APP.JSX

export default class App extends Component{
constructor(props){
    super(props);
    this.state={stus:[]};
}

App.propTypes={
stus: PropTypes.array.isRequired,
};

export default createContainer(()=>
  {
      Meteor.subscribe('stus');
        return {
          stus: Stus.find({},{sort : {myname : 1} } ).fetch(),
        };

  },App);

2 个答案:

答案 0 :(得分:2)

我认为你应该坚持使用更新的版本并修复你的代码。您不能有2个默认值。此外,如果您未在未创建容器的情况下使用App组件,则甚至不需要将其导出

class App extends Component{
  constructor(props){
    super(props);
    this.state={stus:[]};
  }
}

export default createContainer(()=> { /* ... */ }, App);

答案 1 :(得分:0)

原来你的问题正是错误信息。 javascript规范不允许多个默认导出。毕竟,如果您要导入模块,您希望获得哪个模块?

如果要导出多个内容,请使用命名导出:

export const App = class App extends Component {};
export const myContainer = createContainer(() => {}, App);

然后可以按名称导入:

import { App, myContainer } from './myModule.js';