Я работаю над проектом с React Native + React Navigation, в котором есть комбинация вкладок и стековых навигаторов.Я пытаюсь скрыть панель вкладок, когда пользователь прокручивает вниз FlatList / ScrollView, чтобы увеличить видимый контент.Конечная реализация использовала бы библиотеку Animated для ее анимации вне поля зрения, но в настоящее время я просто пытаюсь инициировать скрытие вручную с помощью щелчка.Проблема заключается в том, что когда я пытаюсь установить tabBarVisible
с помощью вызова на this.props.navigation.setParams({ tabBarVisible: false })}
, это не работает.
Настройка навигации выглядит следующим образом:
TabNavigator
- HomeStackNavigator
- HomePage
- Contact
- FAQ
...
(total of 5 tabs with stacknavigators)
...
Внутри HomePageУ меня есть следующее:
class HomeScreen extends React.Component {
render() {
return (
<SafeAreaView style={styles.container}>
<TouchableOpacity onPress={() => this.props.navigation.setParams({ tabBarVisible: false })}>
<Text>Hide bar</Text>
</TouchableOpacity>
</SafeAreaView>
);
}
}
Это в основном звонок от HomeScreen -> HomeStack -> TabBar
.Есть идеи, почему видимость панели вкладок недоступна навигатору верхней вкладки с экрана внутри навигатора с вложенными стеками?