我们可以在不同文件中的屏幕之间导航,方法是使用Navigator组件和在导航屏幕上注册的路由。以下示例演示了如何从一个文件的屏幕导航到另一个文件的屏幕。
在文件A中:
import { createStackNavigator } from '@react-navigation/stack';
import ScreenA from './ScreenA';
const StackA = createStackNavigator();
export default function NavigatorA() {
return (
);
}
在文件B中:
import { createStackNavigator } from '@react-navigation/stack';
import ScreenB from './ScreenB';
const StackB = createStackNavigator();
export default function NavigatorB() {
return (
);
}
要从ScreenA导航到ScreenB,我们需要在ScreenA组件中使用useNavigation钩子。
import React from 'react';
import { Button } from 'react-native';
import { useNavigation } from '@react-navigation/native';
export default function ScreenA() {
const navigation = useNavigation();
return (
我们也可以使用路由名称作为一个变量,这样我们就不需要在代码中硬编码屏幕名称。例如,我们可以在常量文件中定义屏幕名称:
export const SCREEN_A = 'ScreenA';
export const SCREEN_B = 'ScreenB';
我们可以在导航屏幕中使用这些常量,并在屏幕之间导航时使用它们:
import { SCREEN_B } from './constants';
export default function ScreenA() {
const navigation = useNavigation();
return (