Firebase 在react native中基于internet连接运行函数

Firebase 在react native中基于internet连接运行函数,firebase,react-native,firebase-realtime-database,use-effect,offline-caching,Firebase,React Native,Firebase Realtime Database,Use Effect,Offline Caching,我正在使用firebase作为后端的react本机应用程序上工作。我从firebase实时数据库获取数据并在页面上呈现。但现在我希望我的应用程序能够得到离线支持 我使用以下两个函数进行渲染。 从数据库获取列表 const loadListings = () => { let data = []; listingRef.orderByChild("created_at").on("value", (snapshot) => {

我正在使用firebase作为后端的react本机应用程序上工作。我从firebase实时数据库获取数据并在页面上呈现。但现在我希望我的应用程序能够得到离线支持

我使用以下两个函数进行渲染。 从数据库获取列表

  const loadListings = () => {
    let data = [];
    listingRef.orderByChild("created_at").on("value", (snapshot) => {
      data = [];
      snapshot.forEach((listing) => {
        data.push(listing.val());
      });
      cache.store("listings", data.slice(0, 10)); // only stores latest ten listings
      setListings(data);
      setLoading(false);
    });
  };
然后像这样在内部使用它

  useEffect(() => {
    loadListings();
  }, []);
对于缓存中的列表,我使用了这个

  const loadListingsCached = async () => {
    let data = await cache.get("listings");
    setListings(data);
  };
现在我不能在firs函数中进行检查,因为effect hook只运行一次,initialy network status为null。它没有定义。 我如何做到这一点? 顺便说一下

编辑 我使用这个钩子作为useffect()的第二个参数,但对我来说不起作用

  const netInfo = useNetInfo();


我回答了你的问题吗?我试过了,但不起作用