2016-06-18 2 views
1

У меня возникли проблемы с этой проблемой.Как использовать табуляцию в навигаторе в реале-родной

Потому что есть некоторые экраны, которые не используют табуляцию, а также мне нужно использовать значок вектора в навигационной панели, вместо того, чтобы использовать action-native-tabbar-navigator, я попытался использовать вкладку в Navigator, как показано ниже.

render() { 
    return (
     <Navigator 
     initialRoute={{name: 'LearningList', index: 0}} 
     renderScene={(route, navigator) => 
      { 
      if (route.name == 'LearningList') { 
       return (
       <LearningList navigator={navigator} /> 
      ); 
      } 
      if (route.name == 'MyLearning') { 
       return (
       <View style={{ flex: 1, }}> 
        <MyLearning navigator={navigator} /> 
        <TabBarIOS 
        tintColor="black" 
        barTintColor="#3abeff"> 
        <Ionicon.TabBarItemIOS 
         style={ styles.tabBarItem } 
         selected={false} 
         iconName='ios-search' 
         title='Explorer' 
         navigator={navigator} 
         onPress={ this.changeTabSelection('LearningList') }> 
         <View></View> 
        </Ionicon.TabBarItemIOS> 
        <Ionicon.TabBarItemIOS 
         style={{ backgroundColor: 'green' }} 
         selected={true} 
         iconName='ios-list-outline' 
         title='My Learning' 
         navigator={navigator} 
         onPress = { this.changeTabSelection('MyLearning') }> 
         <View></View> 
        </Ionicon.TabBarItemIOS> 
        </TabBarIOS> 
       </View> 
      ); 
      } 
      if (route.name == 'Schedule') { 
       return (
       <Schedule navigator={navigator} learningID={ route.learningID } /> 
      ); 
      }    
      } 
     } 
     /> 
); 
} 

Но когда я нажимаю кнопки TabBarItemIOS, onPress событие не вызывается на всех, и если я нажимаю кнопку редактирования в LearningList странице, то onPress обратные вызовы вызываются для всех кнопок TabBarItemIOS.

Здесь находится содержимое следующей кнопки LearningList.js.

const rightButtonConfig = { 
    title: 'Next >', 
    handler:() => { 
    this.props.navigator.push({ 
    name: 'MyLearning' 
    }); 
    } 
    }; 

Итак, я надеюсь узнать правильный способ использования вкладки в Навигаторе.

Пожалуйста, помогите мне !!!

+0

будут у отправить ссылку на вкладке навигатора в реагировать родной андроид ??? мне это нужно я пытаюсь создать вкладку навигатор, но не могут, если и то сказать mw – hammad

ответ

2

Это потому, что вы вызываете эту функцию вместо передачи ссылки на функцию. Чтобы делать то, что вам нужно, вам просто нужны функции стрелок. Например заменить:

onPress={ this.changeTabSelection('LearningList') }> 

в

onPress={() => this.changeTabSelection('LearningList') }> 
+0

Сэр, я хочу создать навигатор вкладок в ответ на собственный андроид sir plz, дайте код для этого, если у вас есть – hammad

+0

Я следую этой ссылке, но не работает ... – hammad

+0

https://reactnavigation.org/docs/navigators/tab – hammad

Смежные вопросы