在同一页面中导航
Navigation in the same page
import React, { Component, useState } from "react";
import {
Content,
List,
ListItem,
Left,
Right,
Icon,
Container,
Header,
Body,
Button,
Title,
} from "native-base";
//Page 1
export function Food({ navigation }) {
return (
<Container>
<Header>
<Left>
<Button transparent onPress={() => navigation.goBack()}>
<Icon name="arrow-back" />
</Button>
</Left>
<Body>
<Title>Header</Title>
</Body>
<Right>
<Button transparent>
<Icon name="menu" />
</Button>
</Right>
</Header>
</Container>
);
}
//Page 2
export class Diet extends Component {
render() {
return (
<View>
<TouchableOpacity
onPress={() => navigation.navigate("Food")}<---------
>
<Text>Food</Text>
</TouchableOpacity>
</View>
)}
export default Diet;
大家好,我是编程和 React Native 的新手,我正在尝试在两个不同的屏幕之间导航,两个屏幕都在同一页面上,我尝试使用 React Navigation 但它不起作用,并且我不确定我是否以正确的方式使用它。
我建议使用 React Router 创建单页应用程序,它们具有适用于移动设备的路由器类型
以下是 React Native 的文档:
React Router Native Quick Start
这是一个书面教程:
React Native Router Tutorial
还有一个 youtube 教程:
React Router Native Tutorial
import * as React from 'react'; import { Button, View, Text } from 'react-native';import { NavigationContainer } from '@react-navigation/native'; import { createStackNavigator } from '@react-navigation/stack'; const Stack = createStackNavigator();
function HomeScreen({ navigation }) { return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Home Screen</Text>
<Button
title="Go to Details"
onPress={() => navigation.navigate('Details')}
/>
</View>);}
function DetailsScreen({ navigation }) {return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Details Screen</Text>
<Button
title="Go to Details... again"
onPress={() => navigation.navigate('Home')}
/>
</View>);}
function App() { return (
<NavigationContainer>
<Stack.Navigator >
<Stack.Screen name="Home" component={HomeScreen} />
<Stack.Screen name="Details" component={DetailsScreen} />
</Stack.Navigator>
</NavigationContainer>);} export default App;
import React, { Component, useState } from "react";
import {
Content,
List,
ListItem,
Left,
Right,
Icon,
Container,
Header,
Body,
Button,
Title,
} from "native-base";
//Page 1
export function Food({ navigation }) {
return (
<Container>
<Header>
<Left>
<Button transparent onPress={() => navigation.goBack()}>
<Icon name="arrow-back" />
</Button>
</Left>
<Body>
<Title>Header</Title>
</Body>
<Right>
<Button transparent>
<Icon name="menu" />
</Button>
</Right>
</Header>
</Container>
);
}
//Page 2
export class Diet extends Component {
render() {
return (
<View>
<TouchableOpacity
onPress={() => navigation.navigate("Food")}<---------
>
<Text>Food</Text>
</TouchableOpacity>
</View>
)}
export default Diet;
大家好,我是编程和 React Native 的新手,我正在尝试在两个不同的屏幕之间导航,两个屏幕都在同一页面上,我尝试使用 React Navigation 但它不起作用,并且我不确定我是否以正确的方式使用它。
我建议使用 React Router 创建单页应用程序,它们具有适用于移动设备的路由器类型
以下是 React Native 的文档: React Router Native Quick Start
这是一个书面教程: React Native Router Tutorial
还有一个 youtube 教程: React Router Native Tutorial
import * as React from 'react'; import { Button, View, Text } from 'react-native';import { NavigationContainer } from '@react-navigation/native'; import { createStackNavigator } from '@react-navigation/stack'; const Stack = createStackNavigator();
function HomeScreen({ navigation }) { return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Home Screen</Text>
<Button
title="Go to Details"
onPress={() => navigation.navigate('Details')}
/>
</View>);}
function DetailsScreen({ navigation }) {return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Details Screen</Text>
<Button
title="Go to Details... again"
onPress={() => navigation.navigate('Home')}
/>
</View>);}
function App() { return (
<NavigationContainer>
<Stack.Navigator >
<Stack.Screen name="Home" component={HomeScreen} />
<Stack.Screen name="Details" component={DetailsScreen} />
</Stack.Navigator>
</NavigationContainer>);} export default App;