Firebase React Native获取数据

安托万·萨拉米图(Antoine Salamitou)

我正在尝试使用feed来在本机上创建一个应用程序。在主屏幕上,我去获取数据:

fetchData() {
firebase.database().ref(`/posts/${group}`).on('value', async snapshot => {...}
}

例如,当我想对帖子发表评论时,我首先使用不同的查询将数据推送到firebase中,例如:

export const likeComment = (...) => {   
firebase.database().ref(`/posts/${group}/${post}`).update
({
   updatedAt: firebase.database.ServerValue.TIMESTAMP 
});
firebase.database().ref(`/posts/${group}/${post}/lastComments`).set(...);

但是我意识到我的第一个函数fetchData被调用了3次。然后我将查询分组为:

let updates = {}
updates[`/posts/${group}/${post}/lastComments`] = {...};
updates[`/posts/${group}/${post}`] = { ... };
firebase.database().ref().update(updates);

然后,fetchData被调用了两次。

我想知道这是否是最好的方法,为什么我的函数fetchData仍然被调用两次。谢谢你的帮助

吉列尔莫·莫拉托里奥(Guillermo Moratorio)

从有限的代码很难看出来,但是我的猜测是fetchData实际上并没有被多次调用,而是snapshot在您更新Firebase数据库时触发。

您在代码中说.on('value', async snapshot =>要设置一个侦听器的部分,以便在值更改时随时向您发送更新。

所以我的猜测是您的三个调用是:

  1. 第一次实际调用fetchData并设置侦听器
  2. .on( snapshot当你调用监听器发射update
  3. 你的.on( snapshot听众再次射击,当你调用set

这种基于推送的数据库工作流程是Firebase的主要优势之一。如果您只想获取一次数据而又不获取实时更新,则可以致电.once(而不是.on(

https://firebase.google.com/docs/database/web/read-and-write

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

React Native:从Firebase获取数据

React Native Firebase 添加和获取数据

异步Firebase数据在React Native上获取

React Native Firebase 只获取一个数据

无法在React Native中从Firebase Firestore获取数据

React Native 从 Firebase 获取数据不起作用

从Firebase获取数据(React,Axios)

当从数据库获取数据时,React Native Firebase如何分配值

如何从React Native中的Reference数据类型获取Firebase Firestore中的数据

从Firebase中获取数据后,无法呈现react-native Component

执行从React-Native获取数据时,Firebase Firestore权限被拒绝

登录 Firebase React Native Expo 后无法获取用户数据

React-Native - TextInput 中的 Firebase 数据

保存新数据 - React Native + Firebase

我如何从Firebase实时数据库中获取属于随机密钥的子级的数据-使用react native?

在 React Native 应用程序中从 firebase 获取和接收数据时,数据格式不正确

React Native Firebase:从 firebase 读取数据时出错

React Native:Firebase规则

如何在一行中获取 Firebase Cloud Firestore 数据并在 React Native 中返回一个值

用于获取数据和发布数据的 React 和 Firebase 连接

在React Native中从Firebase获取当前用户访问令牌

如何使用react-native-firebase获取推送通知的计数

如何在react-native中检索firebase数据

React Native Firebase 数据库中的 SyntaxError 异常

react native中Flatlist中firebase firestore的数据不会呈现

如何使用React Native将数据保存到Firebase?

如何在React Native中显示来自Firebase Firestore的数据

Firebase Firestore - 在 React Native 中显示查询的数据

在React Native中重新映射Firebase JSON数据