javascript - 在 React Native 中的屏幕之间导航 navigation.navigate not found
问题描述
我正在使用 React Native,我正在尝试使用 createStackNavigator 在屏幕之间导航,但我在登录页面(这是我的初始页面)中收到错误消息,提示找不到 navigation.navitgate?如何在此文件中包含导航?
希望从 LoginScreen.js 导航到 AddProfilesScreen.js
应用 JS 下面
import 'react-native-gesture-handler';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import { StatusBar } from 'expo-status-bar';
import LoginScreen from './assets/Screens/LoginScreen';
import AddProfilesScreen from './assets/Screens/AddProfilesScreen';
import { Keyboard, StyleSheet, Text, View, SafeAreaView, Button, TextInput} from 'react-native';
import React, { useEffect, useReducer } from 'react';
import Navigator from './routes/homeStack';
const Stack = createStackNavigator(Navigator);
export default function App() {
render () {
return (
<Navigator>
</Navigator>
);
}
}
路线(homestack.js)
import { createStackNavigator } from 'react-navigation-stack';
import {createAppContainer} from 'react-navigation';
import LoginScreen from '../assets/Screens/LoginScreen';
import AddProfilesScreen from '../assets/Screens/AddProfilesScreen';
const screens = {
Home: {
screen: LoginScreen
},
AddProfilesScreen: {
screen: AddProfilesScreen
}
}
const HomeStack = createStackNavigator(screens);
export default createAppContainer(HomeStack)
登录屏幕.js
import 'react-native-gesture-handler';
import { NavigationContainer, useNavigation } from '@react-navigation/native';
import { createStackNavigator, NavigationContainer, useNavigation} from 'react-navigation';
import { Keyboard, StyleSheet, Text, View, SafeAreaView, Button, TextInput} from 'react-native';
import { StatusBar } from 'expo-status-bar';
import React, { Component } from "react";
import AddProfilesScreen from './AddProfilesScreen';
class Login extends React {
render () {
return (
<SafeAreaView style={styles.container}>
<Text >Welcome to Hearth!</Text>
<Text style={styles.introText}>Lets get your account set up so you can start making more intentional time with your family</Text>
<StatusBar style="auto" />
<TextInput
style={styles.input}
// onChangeText={onChangeText}
// value={text}
/>
<TextInput
style={styles.input}
// onSubmitEditing={Keyboard.dismiss}
// onChangeText={onChangeText}
// value={text}
/>
<TextInput
style={styles.input}
// onChangeText={onChangeText}
// value={text}
/>
<TextInput
style={styles.input}
// onChangeText={onChangeText}
// value={text}
/>
<Button
// onPress={() => Alert.alert('Simple Button pressed')}
title="Sign Up"
color="#841584"
accessibilityLabel="Learn more about this purple button"
onPress={() =>
this.props.navigation.navigate('AddProfilesScreen')
}
/>
</SafeAreaView>
);
}
}
export default Login;
解决方案
推荐阅读
- c++ - 在 C++ 中调用辅助类的重写方法
- reactjs - 如何遍历 Axios 对 React 中表的响应
- pointers - 插件包中的 Lookup 返回什么?
- android - AndroidStudio 中的 ARCore 元数据错误
- csv - .CSV 中的重复记录 - 如何在重复中忽略 Hash 中的相似值并仅针对 Perl 中的不同值发出警告
- reactjs - 在 DropzoneDialog 中添加一个复选框
- git - 导出 git 登录 excel 或 CSV 文件保存原始评论格式
- opencv-contour - OpenCV Python 轮廓逼近
- css - 在传单中使用 CSS 更改标记图标的颜色的问题
- scala - 我应该如何定义 Flink 的 Schema 来从 Pulsar 读取 Protocol Buffer 数据