React native 从按钮组响应本机选项卡导航

React native 从按钮组响应本机选项卡导航,react-native,react-native-tabnavigator,React Native,React Native Tabnavigator,在React Native中,我有一个按钮组,希望使用选项卡导航控制一些选项卡 选项卡页面都有tabbar可见:false,我想通过调用navigate('screen1')等移动到正确的选项卡页面。但是在从按钮组的onpress调用的updateTab中,我无法访问navigation.navigate功能 我能做什么 import { TabNavigator } from 'react-navigation'; const Tabpage = TabNavigator( { tab

在React Native中,我有一个按钮组,希望使用选项卡导航控制一些选项卡

选项卡页面都有
tabbar可见:false
,我想通过调用
navigate('screen1')
等移动到正确的选项卡页面。但是在从按钮组的
onpress
调用的
updateTab
中,我无法访问
navigation.navigate
功能

我能做什么

import { TabNavigator } from 'react-navigation';

const Tabpage = TabNavigator(
{
   tab1: {
     screen: screen1,
     navigationOptions: {
     tabBarVisible: false,
     tabBarLabel: 'Screen 1'
  }, ...
}

export default class Tab extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      tabIndex: 2
    };
    this.updateTabIndex = this.updateTabIndex.bind(this);
  }

   updateTabIndex = tabIndex => {
     console.log(tabIndex);
     this.setState({ tabIndex });
     switch (tabIndex) {
        case 0:
           console.log('nearby chosen');
           // navigate('screen1'); // error:  no function named navigate
           // navigation.navigate('screen1'); // error: not a function
           // this.navigate or this.navigation.navigate all fail too  
           break;
       case 1: // etc.
       default: // etc. 
     }
  }   

  render() {
    <View style={styles.tabsview}>
      <ButtonGroup
        containerBorderRadius={40}
        selectedBackgroundColor='#FF0000'
        onPress={ this.updateTabIndex }
        selectedIndex={this.state.tabIndex}
        buttons={['screen0', 'screen1', 'screen2']}
        containerStyle={{ height: 30 }}
      />
    </View>
从'react navigation'导入{TabNavigator};
常量Tabpage=TabNavigator(
{
表1:{
屏幕:屏幕1,
导航选项:{
tabBarVisible:错误,
tabBarLabel:“屏幕1”
}, ...
}
导出默认类选项卡扩展了React.Component{
建造师(道具){
超级(道具);
此.state={
索引:2
};
this.updateTabIndex=this.updateTabIndex.bind(this);
}
updateTabIndex=tabIndex=>{
console.log(tabIndex);
this.setState({tabIndex});
开关(选项卡索引){
案例0:
console.log('nearly selected');
//导航('screen1');//错误:没有名为navigate的函数
//navigation.navigate('screen1');//错误:不是函数
//this.navigate或this.navigation.navigate也会失败
打破
案例1://等。
默认值://etc。
}
}   
render(){

如何从更改的状态选项卡索引访问导航?

使用
这个.props.navigation.navigate('screen1');

试试这个.props.navigation.navigation。nami把它作为您的答案,我会接受它。所以现在没有错误,但是没有“导航”选项卡的页面保持不变转到下一页。有什么想法吗?你能发布你的完整标签导航器代码和你的按钮组代码吗。这将有助于理解问题。希望今天晚些时候能看到它。。。