如何在Navigator中使用Tabbar在React-Native中



我现在在这个问题上遇到麻烦。

由于有些屏幕不使用塔巴尔,而且我需要在navigationbar中使用向量图标,而不是使用React-native-tabbar-navigator,所以我试图在Navigator中使用Tabbar,如下所示。

>
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页面中单击"编辑"按钮,请为所有TABBARITEMIOS按钮调用OnPress回调。

这是LearningList.js下一个按钮内容。

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

所以,我希望知道在导航器中使用塔巴尔的正确方法。

请帮助我!

这是因为您正在调用该函数,而不是传递函数参考。要做您想做的事,您只需要箭头功能即可。例如替换:

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

to

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

相关内容

  • 没有找到相关文章

最新更新