Ошибка: недопустимый тип элемента: ожидаемая строка (для встроенных компонентов) или класс / функция (для составных функций), но неопределенные
Я использую 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(){
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 и помещаю это, не дает никакой ошибки. Пожалуйста, помогите мне решить эту проблему.
2 ответа
Когда вы импортируете TabBarIOS, он импортируется как неопределенный, потому что вы не можете использовать его в приложении для Android. Чем вы звоните
<TabBarIOS selectedTab={this.state.sele
это интерпретируется как undefined
Вместо этого лучше использовать внешнюю реализацию (что-то вроде https://github.com/exponentjs/react-native-tab-navigator) или написать свою собственную.
Я не прочитал вопрос правильно. Вы пытаетесь использовать компонент IOS для приложения Android. Но ты не можешь.
Компонент с IOS
а также Android
суффикс будет работать только с IOS
а также Android
приложение соответственно. Если вам нужно использовать кроссплатформенные компоненты, то вам придется использовать компоненты без IOS
а также Android
суффикс или использовать сторонние компоненты.
Например, Navigator
работает как для IOS и Android, но NavigatorIOS
работает только для ios.
В этом случае вам придется использовать что-то вроде этого: