2017-10-09 24 views
-1

雖然這段代碼運行它表明我這個錯誤:流星1.5.2.2 - 「只有一個默認的導出每個模塊允許的」錯誤

Only one default export allowed per module

在其工作文件1.4.xx但在新的它顯示我這個錯誤...任何人都可以請建議我我應該做什麼:

1)要麼從1.5.xx換回到1.4.xx 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); 
+1

我更好奇它是怎麼工作之前。 –

回答

2

我想你應該用更新的版本堅持和修復你的代碼。你不能有2個默認值。此外,如果你不使用App組件,而不創建容器,你甚至都不需要導出

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

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

原來,你的問題是錯誤消息是什麼。 JavaScript規範不允許多個默認導出。畢竟,如果你正在導入模塊,你期望得到什麼?

如果要導出超過一兩件事,使用命名出口:

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

然後可以通過名字導入:

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

Uncaught TypeError:無法讀取App.jsx上未定義的 屬性「數組」 – JParmar

+0

這只是命名導出及其各自導入外觀的一個示例。不是要運行的實際代碼 –

+0

請看看我寫的新代碼來解決我的錯誤... – JParmar

相關問題