尝试从 API 中列出数据会给出错误消息“不变违规:元素类型无效:........”

Posted

技术标签:

【中文标题】尝试从 API 中列出数据会给出错误消息“不变违规:元素类型无效:........”【英文标题】:Trying to list data from an API is giving error message 'Invariant Violation: Element type is invalid:........' 【发布时间】:2020-03-04 03:45:08 【问题描述】:

嘿,我正在尝试在 Flatlist 中显示来自 API 的数据,但我不断收到错误消息,上面写着“不变违规:元素类型无效:需要一个字符串(对于内置组件)或一个类/函数复合组件但未定义......检查'UsersScreen'的渲染方法

我不确定我的代码的哪一部分导致了这个错误

import  API, graphqlOperation  from 'aws-amplify'
import  Text, View, Flatlist  from 'react-native'


const listUsers = `query listUsers 
  listUsers 
      username


  
`;

class UsersScreen extends Component 

  listQuery = async () => 
    console.log('listing Users');
    const allUsers = await API.graphql(graphqlOperation(listUsers));
    alert(JSON.stringify(allUsers));
  ;
 render() 
  return(
    <Flatlist 
    data=listUsers 
    renderItem=( item ) => (
      <View>
        <Text>item.username</Text>
      </View>
    )
    />

  )
  


export default UsersScreen;

【问题讨论】:

【参考方案1】:

您缺少组件的导入:

  import  Component  from 'react';

【讨论】:

以上是关于尝试从 API 中列出数据会给出错误消息“不变违规:元素类型无效:........”的主要内容,如果未能解决你的问题,请参考以下文章

反应错误 - 未捕获的不变违规:元素类型无效

不变违规:文本字符串必须在 <Text> 组件内呈现

不变违规:此导航器缺少导航道具

尝试使用自定义图标创建 TabBarIOS 时出现不变违规错误

不变违规:元素类型无效:预期为字符串(用于内置组件)

未捕获的不变违规:存储错误