Вам не нужно использовать useNavigation
, если вы находитесь на экране в навигаторе.
Структура навигатора следующая.
- stackNavigator
- выдвижной ящик * Навигатор
- stackScreens
Движение экрана выглядит следующим образом.
Пример
function HomeScreen({ navigation }) {
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Button
onPress={() => navigation.navigate('moveScreenName')}
title="Go to moveScreenName"
/>
</View>
);
}
useNavigation
- это ловушка, которая дает доступ к navigation
объекту. Это полезно, когда вы не можете передать navigation
реквизит непосредственно в компонент или не хотите передавать его в случае глубоко вложенного дочернего элемента.
useNavigation()
возвращает навигационную реквизиту экрана, внутри которого он находится .
Пример
function MyBackButton() {
const navigation = useNavigation();
return (
<Button
title="Back"
onPress={() => {
navigation.goBack();
}}
/>
);
}