Javascript 反应本机错误:元素类型无效:应为字符串或类/函数,但Get:未定义。但是在哪里呢?

Javascript 反应本机错误:元素类型无效:应为字符串或类/函数,但Get:未定义。但是在哪里呢?,javascript,react-native,Javascript,React Native,我是第一个在代码中添加覆盖时出现此错误的人 const HomeScreen = ({ navigation }) => { const [modal, setModal] = useState(true); return ( <View> <Button buttonStyle="moreBtn" title="aaa" onPr

我是第一个在代码中添加覆盖时出现此错误的人

const HomeScreen = ({ navigation }) => {
  const [modal, setModal] = useState(true);
  return (
    
    <View>
        <Button
          buttonStyle="moreBtn"
          title="aaa"
          onPress={() =>
            navigation.navigate('Profile', { name: 'Jane' })
          }
        />
         <Overlay>
          <Text>Hello from verlay!</Text>
        </Overlay> 
        <Modal
          animationType="slide"
          transparent={true}
          visible={modal}
          style={styles.modal}
          onPress={() => {
            setModal(false)
          }}
        >
          <View style={{height:500}}>
          <Text>aaaaa</Text>
          <Button onPress={() => {
            setModal(false)
          }}>Bouton</Button>
          </View>
        </Modal>
    </View>
  );
};
为什么?

我编辑了我的帖子,在文件顶部添加了以下导入内容

import { StatusBar } from 'expo-status-bar';
import React, { useState } from 'react';
import { TouchableOpacity, StyleSheet, Text, View, Button, FlatList, ScrollView, Modal } from 'react-native';
import Overlay from 'react-native';
import 'react-native-gesture-handler';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
“主屏幕”位于“应用程序”导航器元素内

export default App;

您错误地导入了Overlay react native,因为它没有Overlay组件,您可以使用来自
react native元素的Overlay

改变

import Overlay from 'react-native';


选中此项:

如果您导入的覆盖错误,则react-native没有覆盖组件,您可以使用来自
react-native元素的覆盖

改变

import Overlay from 'react-native';


检查此项:

尽管@user12129132已经在这里回答了这个问题,但我将此作为一个答案留给未来的搜索者,并提供更多信息

首先,这个错误,至少据我所知,总是意味着你导入的东西不正确。如果您正在导入自己的组件/功能,则可能导出不正确

对于这个特定的示例,您将导入搞砸了2次

第一:覆盖不是react native的一部分,因此失败

第二:Overlay不是它来自的包的默认导出

导入采用以下形式:`import DefaultExport,{NamedExport1,NamedExport2…}来自'package name/file path'

当看到这样的错误时,首先检查您的导出(如果是从您自己的文件导入),然后检查您的导入以确保它符合上述格式,通常您会交换命名导出和默认导出。有时,实际的错误出现在您导入的文件中,并且它有一个中断的导入-这些可以很有趣地跟踪和修复

简单的错误,一旦你学会了,很容易纠正

因此,根据上述信息,您的导入应如下所示:
从'react native elements'导入{Overlay}

尽管@user12129132已经在这里回答了这个问题,我还是将此作为一个答案留给未来的搜索者,并提供一些更多的信息

首先,这个错误,至少据我所知,总是意味着你导入的东西不正确。如果您正在导入自己的组件/功能,则可能导出不正确

对于这个特定的示例,您将导入搞砸了2次

第一:覆盖不是react native的一部分,因此失败

第二:Overlay不是它来自的包的默认导出

导入采用以下形式:`import DefaultExport,{NamedExport1,NamedExport2…}来自'package name/file path'

当看到这样的错误时,首先检查您的导出(如果是从您自己的文件导入),然后检查您的导入以确保它符合上述格式,通常您会交换命名导出和默认导出。有时,实际的错误出现在您导入的文件中,并且它有一个中断的导入-这些可以很有趣地跟踪和修复

简单的错误,一旦你学会了,很容易纠正

因此,根据上述信息,您的导入应如下所示:
从'react native elements'导入{Overlay}

如错误消息所示,导入某些内容可能会出现问题。你能给我们看一下这个文件的导入和任何自定义组件的导出吗?是的,我从“react native”编辑了我的post
import Overlay那是行不通的。你的意思是从“react native elements”导入{Overlay}?如错误消息所示,可能是导入某些内容时出现问题。你能给我们看一下这个文件的导入和任何自定义组件的导出吗?是的,我从“react native”编辑了我的post
import Overlay那是行不通的。你的意思是从“react native elements”导入{Overlay}
import { Overlay } from 'react-native-elements';