React-Native:元素类型无效:预期为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义

时间:2020-04-02 03:12:04

标签: reactjs react-native react-navigation expo react-native-navigation

im试图关注有关React Navigation v5的youtube视频,但对此问题感到困惑。我在StackOverflow上看到了类似的问题,但提供的答案没有帮助,可能是我错过了一些东西。 我正在使用Expo v- 3.17.11

App.js

import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import Routes from "./src/Routes"

export default class App extends React.Component{
  render(){
    return(
      <View>
        <Routes/>
      </View>
    )
  }
}

Routes.js

import React from 'react'
import {createStackNavigator} from "@react-navigation/stack"
import {NagivationContainer} from "@react-navigation/native"
import {SignIn,CreateAccount} from "../Screen/screens"

const Stack = createStackNavigator();

const Routes = () => {
    return (
      <NagivationContainer>
        <Stack.Navigator>
          <Stack.Screen name="Sign-in" component={SignIn}/>
          <Stack.Screen name="Sign-in" component={CreateAccount}/>
        </Stack.Navigator>
      </NagivationContainer>
    );
  }
  export default Routes;

Screens.js

import React from 'react';
import { View,Text,StyleSheet,Button } from "react-native";

export const SignIn =({navigation}) => {
    return(
    <View>
        <Text>login screen</Text>
        <Button title="Sign-In" onPress={() => alert("TODO!!")}/>
        <Button title="Create an Account" onPress={() => navigation.push("CreateAccount")}/>
    </View>
    )
}

export const CreateAccount= () =>{
    return(
        <ScreenContainer>
            <Text>Create Account Screen</Text>
            <Button title="Sign-Up" onPress={() => alert("todo!")}/>
        </ScreenContainer>
    );
}

我已经检查了我的导入语句,并使用了Import{Routes}import Routes,但是没有用。不知道还有什么尝试。

错误提示

Check the render method of 'Routes'
In Routes (at App.js:9)

1 个答案:

答案 0 :(得分:0)

哇,真是一个问题的浪费。 idk,如果我应该删除我的帖子。错误是拼写错误

我放<NagivationContainer/>而不是<NavigationContainer/> 对任何看到这个烂摊子的人表示歉意