【发布时间】:2021-12-26 15:45:21
【问题描述】:
使用的包:
- "@react-navigation/drawer": "^6.1.8",
- "@react-navigation/native": "^6.0.6",
- "@react-navigation/stack": "^6.0.11",
问题:
图片 1,2 和 3: 我已经实现了抽屉,其中显示了主页和条款和条件两个选项。如果你点击 t&c 选项,它会打开它的屏幕,如果你点击主屏幕,它会返回主页屏幕。
图片 1 和 4: 我在 HomeScreen 上将“点击查看详细信息页面”文本设置为可点击,点击后应该会转到详细信息屏幕,但会引发错误,如图 4 我对如何操作感到困惑实施它。我在哪里编写 Stack.Navigation 代码。
App.js
import * as React from 'react';
import { Button, View } from 'react-native';
import { createDrawerNavigator } from '@react-navigation/drawer';
import { NavigationContainer } from '@react-navigation/native';
import HomeScreen from './Screens/HomeScreen';
import DetailPage from './Screens/DetailPage';
import TermsCondition from './Screens/TermsCondition';
const Drawer = createDrawerNavigator();
export default function App() {
return (
<NavigationContainer>
<Drawer.Navigator initialRouteName="HomeScreen">
<Drawer.Screen name="HomeScreen" component={HomeScreen} />
<Drawer.Screen name="Term&Condition" component={TermsCondition} />
</Drawer.Navigator>
</NavigationContainer>
);
}
HomeScreen.js
export default function HomeScreen({ navigation }) {
return (
<TouchableOpacity onPress={() => navigation.navigate('DetailPage')}>
<View style={{ flexDirection: 'row' }}>
<Text style={{ fontSize: 50 }}>Click for Details Page</Text>
</View>
</TouchableOpacity>
);
}
TermsCondition.js
function TermsCondition({ navigation}) {
return (
<View style={{ flexDirection: 'row' }}>
<Text style={{fontSize:50}}>T&C Page</Text>
</View>
);
}
export default TermsCondition;
DetailPage.js
function DetailPage({ navigation}) {
return (
<View style={{ flexDirection: 'row' }}>
<Text style={{fontSize:50}}>DetailPage</Text>
</View>
);
}
导出默认的DetailPage; 对不起这个愚蠢的问题,但我在网上试过但很困惑。 提前谢谢你!
【问题讨论】:
-
尝试使用嵌套导航器方法:阅读此-'reactnavigation.org/docs/nesting-navigators/…'
-
“DetailPage”在哪里?在您发布的代码中没有带有“DetailPage”名称的页面
-
这只是一个普通的代码,所以没有包含它,而是添加了它。
-
@JohnOcean 我试试看
-
可以完全分享 App.js 吗?
标签: javascript android react-native