2016-11-22 11 views
1

私は反応ネイティブの初心者です。 JavaScriptではできません。私app.jsで複数のモジュールを使用してAppを構築するReact-Native

私はそのような何かをしたいと思います:私のmod_menu.jsで

export default class App extends Component { 
    constructor(props){ 
     super(props); 
     //init a lot of modules 
     this.all_modules = []; 
     var MenuGame = require ('/modules/mod_menu/mod_menu.js'); 
     this.all_modules.push(new MenuGame()); 
    } 
    render(){ 
     //render all modules 
     var views = []; 
     views = this.all_modules.map(function(module){ 
      return module.render(); 
     }); 
     return (<View>{views}</View>); 
    } 
} 

を私が持っている:

Class MenuGame extends React.component{ 
    render(){ 
     return(<Text>foo</Text>); 
    } 
} 

私は、私は次のエラーを取得するこのコードを実行すると、要素タイプが無効です:文字列またはクラス/関数は未定義ですが、 'App'のレンダリングメソッドを確認してください

ライフサイクルを担当するApp.jsコントローラアプリのe。 App.jsはすべてのモジュールを初期化して、それらのレンダリングを呼び出すだけです。各モジュールはAppをビルドします。

私を助けることができますか?

EDIT:ソースコードhttps://jsfiddle.net/n7habkt3/

答えて

2

編集:これは

var { 
    Text 
} = React; 

注意がmod_menu_game.jsmod_menu_game.view.jsで次あなたの問題の原因。 <Text>コンポーネントはreact-nativeからインポートする必要がありますが、reactではインポートできません。

それを修正するには、次のようにそれ(両方のファイル)を置き換える:

import { Text } from 'react-native'; 

P.Sを:mod_menu_game.jsでは、あなたがrender()に二つの成分(ライン53および54)戻ってきています。私の提案は、それらを返す前に<View>にラッピングすることです。再度、react-nativeからインポートされていることを確認してください。

+0

これはまさに私がやったことです。投稿を編集してすべてのファイルを追加します。 – Su4p

+0

私の投稿を更新しました。 – Su4p

+0

@ Su4pありがとう、私の答えも編集しました。 –

関連する問題