gpt4 book ai didi

react-native - 使用抽屉导航而不在其中包含 Screen

转载 作者:行者123 更新时间:2023-12-04 15:34:40 24 4
gpt4 key购买 nike

我有一个关注 stack navigator

<Stack.Navigator>
<Stack.Screen name="Home" component={HomeScreen} />
<Stack.Screen name="Settings" component={SettingsScreen} />
<Stack.Screen name="AboutUs" component={AboutUsScreen} />
<Stack.Screen name="ContactUs" component={ContactUsScreen} />
<Stack.Screen name="Blog" component={BlogScreen} />
</Stack.Navigator>

我要 drawer (带有自定义抽屉内容)不使用 nesting drawer navigators .

最佳答案

我看到了你的问题,我正在努力帮助你。我为抽屉组件做了一个定制设计。 -首先,您可以为抽屉设计创建一个额外的文件,例如 DrawerComponent.js并在您创建抽屉导航器的代码中导入

import DrawerComponent from "./DrawerComponent";
const Primary_Nav = createDrawerNavigator(
{
screen1: {
screen: screen1,
navigationOptions: {
drawerLabel: () => null
}
},
screen2: {
screen: screen2,
navigationOptions: {
drawerLabel: "detail"
}
},
{
initialRouteName: "screen1",
drawerPosition: "left",
drawerType: "slide",
contentComponent: DrawerComponent //<<< i added this
}
);

const PrimaryNav = createAppContainer(Primary_Nav);
export default PrimaryNav;

现在在 DrawerComponent.js您可以根据需要制作自定义组件内容。
import React, { Component } from "react";
import { Text, View, TouchableOpacity } from "react-
native";

export default class DrawerComponent extends Component {
constructor(props) {
super(props);

this.state = {

};
}

render() {
const { navigation } = this.props;
return (
<View style={{ flex: 1, paddingVertical: 40,paddingHorizontal: 20 }}>
<TouchableOpacity
style={{ margin: 20 }}
onPress={() => navigation.navigate("screen1")}
>
<Text>Home</Text>
</TouchableOpacity>
<TouchableOpacity
style={{ margin: 20 }}
onPress={() => navigation.navigate("screen2")}
>
<Text>Detail</Text>
</TouchableOpacity>
</View>
);
}
}

我希望它会对你有所帮助。谢谢你,快乐编码。

关于react-native - 使用抽屉导航而不在其中包含 Screen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60150256/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com