Ошибка: недопустимый тип элемента: ожидаемая строка (для встроенных компонентов) или класс / функция (для составных функций), но неопределенные

Я использую 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.

В этом случае вам придется использовать что-то вроде этого:

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

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

Другие вопросы по тегам