Firestore返回null反应原生android

Posted

技术标签:

【中文标题】Firestore返回null反应原生android【英文标题】:firestore returning null react native android 【发布时间】:2020-09-19 02:22:30 【问题描述】:

我正在尝试显示我的 firestore 数据库的内容,它在 ios 上完美运行,但 android 为空,我已按照 https://rnfirebase.io/ 上的说明将 android 设置为 T 并且我创建了多个新应用程序无济于事。

Firebase 承认有 2 个应用程序已连接,但无论我做什么,都没有显示任何内容。

我已经更新了规则以接受任何连接,但仍然没有。 还有其他人遇到过这个问题吗? 可以提供任何需要的信息,但是看到应用程序在 ios 上运行良好,我会发疯地试图找出问题所在

export default function Products()
const [loading, setLoading] = useState(true);
const [products, setProducts] = useState([]);

useEffect(() => 
    const subscriber = firestore()
    .collection('products')
    .onSnapshot(querySnapshot => 
        const products = [];

        querySnapshot.forEach(documentSnapshot => 
            products.push(
                ...documentSnapshot.data(),
                key: documentSnapshot.id,
            );
        );
        setProducts(products);
        setLoading(false);
    );

    return () => subscriber();
, []);


return(
    <View>
        <Text>Top</Text>
         <FlatList
        data=products
        renderItem=( item ) => (
        <View style=height: 50, flex: 1, alignItems: 'center', justifyContent: 'center'>
            <Text>Product ID: item.key</Text>
            <Text>Product Name: item.name</Text>
        </View>

    )
    />
    <Text>Bottom</Text>
    </View>
);

【问题讨论】:

您是否已将 google-services.json 添加到 Android 文件夹中? 我已将其添加到 android/app 文件夹中 您的 android 模拟器屏幕截图显示 wifi 图标上的连接错误。你可以从模拟器浏览器打开任何网页吗?它安装了谷歌浏览器,你能检查一下吗? 我看过了,你说得对!它说没有互联网连接,我试图通过这个帖子修复它***.com/questions/50670547/… 但它不起作用,你有什么想法/资源我可以修复它吗? 没关系!进行更改后,我不得不删除并重新安装模拟器。谢啦!我欠你一个学位!! 【参考方案1】:

该死,android 模拟器上的互联网无法正常工作(可以在图片中看到 wifi 锥旁的小 x),关注此帖子 Android Studio - Android Emulator Wifi Connected with No Internet

确保删除并重新安装模拟器,然后一切顺利

【讨论】:

以上是关于Firestore返回null反应原生android的主要内容,如果未能解决你的问题,请参考以下文章

在本机反应中获取和返回 Firestore 集合

反应原生返回 null 状态

世博会苹果登录反应原生返回空值

使用 null GraphQL 数据反应原生钩子

根据firebase / firestore文档在应用程序图标徽章通知中反应本机

从 expo 环境调用后 Firestore 返回元数据