Javascript Expo React本机错误:元素类型无效:应为字符串(对于内置组件)
我是React Native的初学者,所以我正在使用Expo并尝试添加React导航栏。我一直收到这个错误,但是我正在导出App.jsJavascript Expo React本机错误:元素类型无效:应为字符串(对于内置组件),javascript,react-native,expo,hybrid-mobile-app,Javascript,React Native,Expo,Hybrid Mobile App,我是React Native的初学者,所以我正在使用Expo并尝试添加React导航栏。我一直收到这个错误,但是我正在导出App.js 从“React”导入React; 从“react native”导入{StyleSheet}; 从“@react navigation/native”导入{NavigationNativeContainer}; 从“@react navigation/stack”导入{createStackNavigator} 从“/screens/SignupScreen”
从“React”导入React;
从“react native”导入{StyleSheet};
从“@react navigation/native”导入{NavigationNativeContainer};
从“@react navigation/stack”导入{createStackNavigator}
从“/screens/SignupScreen”导入注册
从“/screens/LoginScreen”导入LoginScreen
从“/screens/LoadingScreen”导入加载屏幕
从“/screens/HomeScreen”导入主屏幕
const Stack=createStackNavigator();
//
导出默认函数App(){
返回(
);
}
这应该行得通
将App.js
替换为以下代码:
import React from "react";
import { NavigationContainer } from "@react-navigation/native";
import AppNavigator from "./navigation/AppNavigator";
export default function App() {
return (
<NavigationContainer>
<AppNavigator />
</NavigationContainer>
);
}
然后创建一个名为navigation
的文件夹,该文件夹位于App.js
的位置
然后在navigation
文件夹中创建一个名为AppNavigator.js
然后在AppNavigator.js中粘贴此代码:
import { StatusBar } from "expo-status-bar";
import React from "react";
import {
StyleSheet,
Text,
View,
TouchableOpacity,
KeyboardAvoidingView,
Image,
} from "react-native";
import { Button, TextInput } from "react-native-paper";
function LoginScreen(props) {
return (
<>
<KeyboardAvoidingView behavior="position">
<StatusBar
style="light"
backgroundColor="black"
barStyle="light-content"
/>
<Image
style={styles.logoStyle}
source={require("../assets/logoBlack.png")}
/>
<Text style={styles.subIntro}>Proceed with your</Text>
<Text style={styles.intro}> Login</Text>
<TextInput
style={styles.textInpStyle}
theme={{ colors: { primary: "red" } }}
underlineColor=""
label="Email"
mode="flat"
/>
<TextInput
style={styles.textInpStyle}
theme={{ colors: { primary: "red" } }}
label="Password"
mode="flat"
/>
<Button
style={styles.btnStyle}
mode="contained"
onPress={() => console.log("Pressed")}
>
SIGN IN
</Button>
<TouchableOpacity>
<Text
onPress={() => props.navigation.navigate("signup")}
style={styles.subText}
>
I'm a new user <Text style={styles.spIn}> Sign Up</Text>{" "}
</Text>
</TouchableOpacity>
</KeyboardAvoidingView>
</>
);
}
export default LoginScreen;
const styles = StyleSheet.create({
container: {},
});
import React from "react";
import { createStackNavigator } from "@react-navigation/stack";
import SignUp from "./screens/SignupScreen";
import LoginScreen from "./screens/LoginScreen";
import LoadingScreen from "./screens/LoadingScreen";
import HomeScreen from "./screens/HomeScreen";
const Stack = createStackNavigator();
function AppNavigator() {
return (
<Stack.Navigator>
<Stack.Screen name="signup" component={SignUp}></Stack.Screen>
<Stack.Screen name="login" component={LoginScreen}></Stack.Screen>
</Stack.Navigator>
);
}
export default AppNavigator;
从“React”导入React;
从“@react navigation/stack”导入{createStackNavigator};
从“/screens/SignupScreen”导入注册;
从“/screens/LoginScreen”导入LoginScreen;
从“/screens/LoadingScreen”导入加载屏幕;
从“/screens/HomeScreen”导入主屏幕;
const Stack=createStackNavigator();
函数AppNavigator(){
返回(
);
}
导出默认AppNavigator;
有人能帮我解答我的问题吗?Perfecto。非常感谢。这真的很有帮助,它解决了我的错误。在你救我之前,我几乎要关机了。