Невозможно получить панель вкладок с помощью TabBarIOS

Я разрабатываю приложение React Native. Я хочу добавить панель вкладок внизу экрана. Ниже кода:

TabIndex.js:

import React,{Component} from 'react';
import {Text,TabBarIOS,View} from 'react-native';

export default class TabIndex extends Component{
constructor(props){
    super(props);

    this.state = {
        selectedTab:''
    }
}
changeTabs(tabId){
    this.setState({
        selectedTab:tabId
    })
}
render(){
    return (
        <TabBarIOS>
            <TabBarIOS.Item
            selected = {this.state.selectedTab === 'tab1'}
            systemIcon = 'bookmarks'
            onPress = {() => this.changeTabs('tab1')}
            >
                <View>
                    <Text>Tab 1</Text>
                </View>
            </TabBarIOS.Item>
           <TabBarIOS.Item
            selected = {this.state.selectedTab === 'tab2'}
            systemIcon = 'contacts'
            onPress = {() => this.changeTabs('tab2')}
            >
                <View>
                    <Text>Tab 2</Text>
                </View>
            </TabBarIOS.Item>
            <TabBarIOS.Item
            selected = {this.state.selectedTab === 'tab3'}
            systemIcon = 'favorites'
            onPress = {() => this.changeTabs('tab3')}
            >
                <View>
                    <Text>Tab 3</Text>
                </View>
            </TabBarIOS.Item> 
        </TabBarIOS>
    )
  }
 }

Я вызываю этот TabIndex.js на своем домашнем экране MainPage.js:

import React from 'react';
import {View,StyleSheet,FlatList} from 'react-native';
import { CATEGORIES} from '../../data/Catogories';
import CategoryGridTile from '../../components/FR/CategoryGridTile';
import { HeaderButtons, Item } from 'react-navigation-header-buttons';
import HeaderButton from '../../components/UI/HeaderButton'; 
import Background from '../../components/FR/Background';
import TabIndex from '../../components/UI/TabIndex';


const MainPage = props => {

const renderGridItem = itemData => {
    return <CategoryGridTile 
    icon={itemData.item.icon}
    title={itemData.item.title} 
    color={itemData.item.color}
    screenToGo={itemData.item.screenToGo}
    onSelect={()=>{
    props.navigation.navigate({routeName:(itemData.item.screenToGo),params:
  {
    categoryId:itemData.item.id
  }
  })
  }}/>

  };
  return (
  <View>
  <View>
  <Background />
  </View>
  <View style={{paddingTop:100}}>
  <FlatList
  keyExtractor={(item,index) => item.id}
  data={CATEGORIES}
  renderItem={renderGridItem}
  numColumns={2}
  />
  </View>
  <TabIndex />
  </View>
  );
  };

  MainPage.navigationOptions = navData =>{
  return{
  headerTitle: 'Home',
  headerStyle: {
  backgroundColor: '#4bf773',
   },

  headerLeft: () =>
  <HeaderButtons HeaderButtonComponent={HeaderButton}>
    <Item
      title="Menu"
      iconName={Platform.OS === 'android' ? 'md-menu' : 'ios-menu'}
      onPress={() => {
        navData.navigation.toggleDrawer();
       //navData.navigation.navigate('Drawer');
      }}
    />
  </HeaderButtons>
 }

 };

 const styles = StyleSheet.create({
 screen:{
    flex:1,
    justifyContent:'center',
    alignContent:'center'
 },
 actionButtonIcon: {
    fontSize: 20,
    height: 22,
    color: 'white',
  }

 })
 export default MainPage;

Но после запуска кода я получаю следующую ошибку:

undefined не является объектом (оценка '_reactNative.TabBarIOS.Item')

Может ли кто-нибудь помочь мне, где я делаю ошибку?

Заранее спасибо.

0 ответов

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