Firebase 在react native中基于internet连接运行函数
我正在使用firebase作为后端的react本机应用程序上工作。我从firebase实时数据库获取数据并在页面上呈现。但现在我希望我的应用程序能够得到离线支持 我使用以下两个函数进行渲染。 从数据库获取列表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) => {
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();
我回答了你的问题吗?我试过了,但不起作用