嵌套 Drawer Navigator 在 Stack Navigator 中:
import { createDrawerNavigator } from '@react-navigation/drawer';
import { createStackNavigator } from '@react-navigation/stack';
const Drawer = createDrawerNavigator();
const Stack = createStackNavigator();
function App() {
return (
);
}
function HomeStackScreen({navigation}) {
return (
);
}
在这种情况下,Drawer Navigator 是包含 Stack Navigator 的,因此当用户打开抽屉导航时就可以访问整个堆栈中的所有屏幕。
嵌套 Stack Navigator 在 Drawer Navigator 中:
import { createDrawerNavigator } from '@react-navigation/drawer';
import { createStackNavigator } from '@react-navigation/stack';
const Drawer = createDrawerNavigator();
const Stack = createStackNavigator();
function App() {
return (
);
}
在这种情况下,Stack Navigator 是嵌套在 Drawer Navigator 之中,因此用户将只能访问 Drawer Navigator 中声明的屏幕。如果某个屏幕需要访问整个堆栈中的其他屏幕,则必须在 Drawer Navigator 中重新声明该屏幕。
总结:
嵌套 Drawer Navigator 在 Stack Navigator 中,用户可以访问整个堆栈中的所有屏幕;
嵌套 Stack Navigator 在 Drawer Navigator 中,用户只能访问 Drawer Navigator 中声明的屏幕。