2016-07-22 148 views
0

我使用TabBarIOS在本机反应,并在android模拟器上运行它,但同时使用TabBarIOS .Item我收到以下错误认证的Element type is invalid expected a string(for built in components) or a class/function (for composite functions) but got undefined check render method of Approvals错误:元素类型无效期望一个字符串(用于内置组件)或一个类/函数(用于复合功能),但得到了undefined

渲染()方法如下

render(){ 

    return (
    <View style={styles.container}> 
     <View style={styles.strip}> 
      <Image style={{width:50, height:30,padding:10,top:5}} source={require('./drawable/drawable/asap.png')}/> 
      <Text style={{fontSize:20,color:'white',bottom:20,left:60,padding:10}}>Approvals</Text> 
     </View> 
     <TabBarIOS selectedTab={this.state.selectedTab}> 
      <TabBarIOS.Item 
      title="Pending" 
      icon={{uri:'./drawable/drawable/approvalbadge.png',scale:3}} 
       selected={this.state.selectedTab==='pending'} 
       onPress={() => { 
        this.setState({ 
         selectedTab: 'pending', 
        }); 
       }}> 
       <Pending> 
      </TabBarIOS.Item> 

     </TabBarIOS> 
    </View> 

); 

} 

的错误是在本节只如果我删除TabBarIOS并把它不给任何错误引起。请帮我解决这个问题。

+0

你怎么导入TabBarIOS成分?这看起来像与导入组件有关的错误。 –

+0

@TusharKhatiwada从'react-native'导入{TabBarIOS}; –

回答

1

当你导入TabBarIOS时,它被导入为undefined,因为你不能在android应用中使用它。 比你打电话

<TabBarIOS selectedTab={this.state.sele 

它被解释为undefined 您更好地使用外部实现,而不是(像https://github.com/exponentjs/react-native-tab-navigator)或自己编写。

0

我没有正确地阅读这个问题。您正在尝试为Android应用使用IOS组件。但你不能。

带有IOSAndroid后缀的组件分别仅适用于IOSAndroid应用程序。如果您需要使用跨平台组件,那么您必须使用不带IOSAndroid后缀的组件,或者使用第三方组件。

例如,Navigator作品既iOS和AndroidNavigatorIOS只适用于iOS工作

在这种情况下,你将不得不使用的类似:

https://github.com/exponentjs/react-native-tab-navigator

https://github.com/alinz/react-native-tabbar

相关问题