Реагировать на навигацию по собственной вкладке из группы кнопок
В React Native у меня есть группа кнопок, которой я хочу управлять некоторыми вкладками с помощью навигации по вкладкам.
Все вкладки имеют tabBarVisible: false
и я хочу перейти на правильную вкладку, позвонив navigate('screen1')
и т.д. Но внутри моего updateTab
вызывается из группы кнопок onpress
Я не могу получить доступ к 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>
Как получить доступ к навигации по измененному индексу вкладки состояния?
1 ответ
Решение