2017-10-09 6 views
0

私はAA RNアプリ(RNバージョン0.48.3)、私のフォルダ構造を持っているショートカットindex.js:リアクトネイティブインポートパスは問題

import React, { Component } from 'react'; 
import { 
    AppRegistry, 
    View 
} from 'react-native'; 

export default class home extends Component { 
    render() { 
    return (
     <View> 
    ... 
     </View> 
    ); 
    } 
} 

私はアプリを実行すると、それは私に、このエラーを示しています

Element type is invalid: expected a string (for Built-in components) or a class/Object...

しかし、ときindex.ios.jsの変化二行目は、それが正常に動作します:

import home from './app'; -> import home from './app/index.js'; 

誰もがなぜ私に説明することができますか?パス "./app"がindex.jsの内部で正しくありませんか?

答えて

1

出来上がり

キャメルケースとホームで試してみてください、とあなたからクラス名をホームを削除:i「は./appからインポートホームでパスを変更した場合...それが唯一の仕事

import React, { Component } from 'react'; 
import { 
    AppRegistry, 
    View 
} from 'react-native'; 

export default class extends Component { 
    render() { 
    return (
     <View> 
    ... 
     </View> 
    ); 
    } 
} 



import {AppRegistry} from 'react-native'; 
    import Home from './app'; 
    AppRegistry.registerComponent('Home',() => Home); 
+0

同じエラー/index.js ';それは問題ではありませんが、私は理由を知りたいのです... –

+0

私の解決策は何ですか? ./appを入力するとnode.exportオブジェクトにあるannomye要素を取るノードを残します。名前を指定した場合はエクスポートのデフォルトに名前が不要ですが、した。ここでは例:{Home}と輸出クラスのホーム... –

+0

ありがとう、しかし、私はあなたのソリューションで同じエラーがある、それは "./app"のパスを取得することはできませんが、 "./app/index" js "それは働く... –