2017-08-29 12 views
0

ネイティブベースのフッターに問題があります コンテナがあり、MyFooterを含めるとこのエラーが表示されます。 要素の種類が無効です:文字列が必要です(組み込みコンポーネント用)またはクラス/関数(複合コンポーネント用)ですが、未定義です。あなたはおそらく、それはで定義されていたファイルからコンポーネントをエクスポートするのを忘れReact-Native:要素の種類が無効です

// main.js 
import MyFooter from './MyFooter'; 
... 
<Container> 
    <MyHeader title="Оплаты" /> 
    <Content></Content> 
    <MyFooter /> 
    </Container> 

とフッターコンポーネント

// MyFooter.js 
const MyFooter = props => { 
    return (
    <Footer> 
     <FooterTab> 
     <Button vertical active> 
      <Text>Info</Text> 
     </Button> 
     <Button vertical > 
      <Text>Remove</Text> 
     </Button> 
     </FooterTab> 
    </Footer> 
); 
} 
export default MyFooter; 

しかし、私はこのようMyFooterのrenderメソッドを変更する場合:だから

// MyFooter.js 
return (
    <View> 
    <Text> 
     Test 
    </Text> 
    </View> 
) 

MyFooterの別のレンダリングがすべて完璧に機能するため、エクスポート/インポートに問題はありません。 誰でも助けてくれますか?

回答 - 'react-native'の{Text、Footer、FooterTab、Button、Icon}をインポートします。その後、

const MyFooter =() => ( 
    <Footer> 
    <FooterTab> 
     <Button vertical active> 
     <Icon name="information" /> 
     <Text>Инфо</Text> 
     </Button> 
     <Button vertical > 
     <Icon name="add" /> 
     <Text>Оплаты</Text> 
     </Button> 
     <Button vertical > 
     <Icon name="remove" /> 
     <Text>Снятия</Text> 
     </Button> 
    </FooterTab> 
    </Footer> 
); 

export default MyFooter; 
+0

あなたの 'MyFooter'コンポーネントをエクスポートしました –

+0

MyFooterのレンダリングメソッドをすべて変更すれば、完璧です。 (質問に輸出のラインを追加) –

答えて

1

あなたは正確にそのままあなたのコードを貼り付けた場合:

+0

いいえ、閉じ括弧は問題のコード量の制限のために適合しません。 –

+1

Ok、MyFooter.jsでは、React-NativeではなくNativebaseからすべての要素をインポートしていますか?ボタン、テキストなど – basudz

+0

もちろん、そうでなければ別のエラーが発生する –

2

が、これはこれらの次のようなあなたのコンポーネント最初export default MyFooterをエクスポートするためにあなたのMyFooterコンポーネント試みです(代わりに「ネイティブ・ベース」「ネイティブを反応させます」) MyFooter.jsのreturn文の後ろに閉じ括弧がありません

+0

輸出は存在するので、輸出入に問題がないので、問題の輸出ラインを追加してください、申し訳ありませんが、まずそれを行う必要があります。 –

+0

これはあなたの問題を解決するのですか?まだ解決していない場合は私に教えてください。この 'const MyFooter = props =>'から 'const MyFooter =()=>' –

+0

にコンポーネント宣言を変更しようとしないでください。問題がエクスポートされた場合、MyHeaderレンダリングの変更によって同じエラーが発生しました。 –

関連する問題