首页 > 解决方案 > Firestore 查询错误:对象作为反应子项无效

问题描述

我正在尝试从 firestore 进行查询:我想将具有相同字段 ID 的集合任务中的所有字段放入 Clients/1/Missions (在 firestore 和查询代码下方)。

我试过这样做,但我有这个错误:

对象作为 React 子对象无效(找到:具有键 {_U、_V、_W、_X} 的对象)。如果您打算渲染一组孩子,请改用数组

这是我的代码:

const GoalScreen = async (props) => {
  IDUserNum = 1;
  IDUser = IDUserNum.toString();
  if (IDUser) {
    const array = [];
    const a = await firebase.firestore().collection('Clients').doc(IDUser).collection('Missions').get();
    if(!a) {
      return(
        <View><Text>ciao</Text></View>
      )
    }
    a.forEach((IDMission) => {
      const b = a.doc(IDMission).get().ID_Mission;
      const c = firebase.firestore().doc(b).data();
      array.push[c];
      console.log(c);
    })
      return (
        <View style={styles.container}>
  
        <Text style={styles.loginText}>Here the should be the goals</Text>
  
        </View>
      );
  } 
  return (
    <View><Text>orso</Text></View>
  )
}

这里是 Firestore 的字段

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: javascriptreactjsfirebasereact-nativegoogle-cloud-firestore

解决方案


哦,好的,有了额外的数据,我可以提供更好的帮助。问题是您使用的是 forEach,它不返回任何内容,因此组件不会收到任何要渲染的内容。尝试使用.map,您至少应该解决第一个错误。


推荐阅读