我在反应原生中使用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
render()方法如下
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 :(得分:1)
当您导入TabBarIOS时,它将导入为undefined,因为您无法在Android应用中使用它。 比你打电话
<TabBarIOS selectedTab={this.state.sele
它被解释为undefined
您最好使用外部实现(类似https://github.com/exponentjs/react-native-tab-navigator)或编写自己的实现。
答案 1 :(得分:0)
我没有正确地阅读这个问题。您正在尝试将 IOS 组件用于Android应用。但你不能。
带有IOS
和Android
后缀的组件分别仅适用于IOS
和Android
应用。如果您需要使用跨平台组件,则必须使用不带IOS
和Android
后缀的组件,或使用第三方组件。
例如,Navigator
适用于 ios和android ,但NavigatorIOS
仅适用于ios 。
在这种情况下,您必须使用以下内容: