2017-07-17 88 views
0

我是新來對原生做出反應和反應。我想用一個庫文件來反應原生。 https://github.com/FaridSafi/react-native-gifted-chat 但我得到這個錯誤:React.createElement:類型無效

警告:React.createElement:類型無效 - 預期字符串 (用於內置組件)或類/功能(複合 組件),但得到:對象。您可能忘記從其定義的文件中導出您的 組件。

檢查您的代碼在registerRootComponent.js:21。 在ExponentRootComponent(在renderApplication.js:35) 在RCTView(在View.js:128) 在視圖(在AppContainer.js:93) 在RCTView(在View.js:128) 在視圖(在AppContainer的.js:92)在AppContainer (在renderApplication.js:34)

這裏我的代碼:

import React from 'react'; 
import { StyleSheet, Text, View, KeyboardAvoidingView, Image, TextInput } from 'react-native'; 
import GiftedChat from 'react-native-gifted-chat'; 

class App extends React.Component { 

    state = { 
    messages: [], 
    }; 


    componentWillMount() { 
    this.setState({ 
     messages: [ 
     { 
      _id: 1, 
      text: 'Hello developer', 
      createdAt: new Date(), 
      user: { 
      _id: 2, 
      name: 'React Native', 
      avatar: 'https://facebook.github.io/react/img/logo_og.png', 
      }, 
     }, 
     ], 
    }); 
    } 

    onSend(messages = []) { 
    this.setState((previousState) => ({ 
     messages: GiftedChat.append(previousState.messages, messages), 
    })); 
    } 

    render() { 
    return (
     <GiftedChat 
     messages={this.state.messages} 
     onSend={(messages) => this.onSend(messages)} 
     user={{ 
      _id: 1, 
     }} 
     /> 
    ); 
    } 

} 

我添加此LIB用:

yarn add react-native-gifted-chat 

我使用Expo-XDE在Android模擬器上啓動我的應用程序。

回答

2

導出App組件來呈現它。

+0

我都嘗試的底部增加一個出口,它不工作 – Xero

+0

您正在導出「應用程序」組件,對嗎? –

+0

對不起,它工作了一秒,然後再次崩潰......我添加了這個'導出默認應用程序;'頂部 – Xero

1

正如警告說,你可能忘了您的組件從它的定義文件導出。

只需在文件

App extends React.Component{ ... } 
export default App