我有一个Navigation Drawer
,应该出现在我的所有屏幕上(Splash
屏幕除外)。
我就是这样的
const Stack = createStackNavigator();
const Drawer = createDrawerNavigator();
const StackNavigator = () => {
return (
<Stack.Navigator>
<Stack.Screen name="EstateDetails" component={Screens.EstateDetails} />
<Stack.Screen name="Tour" component={Screens.Tour} />
<Stack.Screen name="Comparison" component={Screens.Comparison} />
<Stack.Screen name="Blog" component={Screens.Blog} />
<Stack.Screen name="Auth" component={Screens.Auth} />
</Stack.Navigator>
);
};
const DrawerNavigator = () => {
return (
<Drawer.Navigator drawerContent={props => CustomDrawerContent(props)}>
<Drawer.Screen name="HomeScreen" component={Screens.Home} />
<Drawer.Screen name="stack" component={StackNavigator} />
<Drawer.Screen name="RegisterEstate" component={Screens.RegisterEstate} />
<Drawer.Screen name="Filter" component={Screens.Filter} />
<Drawer.Screen name="Conditions" component={Screens.Conditions} />
<Drawer.Screen name="Judicial" component={Screens.Judicial} />
<Drawer.Screen name="ContactUs" component={Screens.ContactUs} />
<Drawer.Screen name="ReportBugs" component={Screens.ReportBugs} />
</Drawer.Navigator>
)
};
export const AppNavigator = () => {
return (
<NavigationContainer>
<Stack.Navigator initialRouteName="Splash">
<Stack.Screen name="Splash" component={Screens.Splash}/>
<Stack.Screen name="Home" component={DrawerNavigator}/>
</Stack.Navigator>
</NavigationContainer>
);
};
在这种情况下,所有可以的唯一堆叠屏幕都用作抽屉屏幕。 (该屏幕仅加载一次,并在下次显示初始加载,就像博客屏幕一样)。
我需要将光标停留在除启动画面之外的所有页面上,并堆叠我的一些页面(例如内容不相同的动态页面)
答案 0 :(得分:1)
如果要在所有其他屏幕上显示相同的抽屉,只需将{DrawerNavigator}传递到要显示抽屉的所有其他屏幕。因此,在本示例中,如果要在“游览”和“博客”屏幕中显示抽屉,只需添加>
<Stack.Screen name="Blog " component={DrawerNavigator} />
<Stack.Screen name="Tour" component={DrawerNavigator} />
现在您可以在“博客和游览”屏幕中访问。
如果要在其他屏幕中显示其他抽屉,则创建一个新功能。