javascript - React Native Firebase 事务无法正常工作

标签 javascript firebase react-native firebase-realtime-database

我正在使用 React Native 和 Firebase 实时数据库开发应用。

在数据库中,我有如下一些数据。

myRoot
  |
  |--myValue1: 0
  |
  |--myValue2: 2

然后,我想将这些值加一并得到以下结果。

myRoot
  |
  |--myValue1: 1
  |
  |--myValue2: 3

为此,我使用了如下函数。

myFunction = () => {
   const myRef = firebase.database().ref('myRoot');

   return myRef.transaction((data) => {
      data.myValue1++;
      data.myValue2++;
      return data;
   })
   .then(console.log('Done'))
   .catch((error) => console.log(error));
}

但是,调用该函数后,出现以下错误。

[Unhandled promise rejection: TypeError: null is not an object (evaluating 'data.myValue1')]

我尝试拍摄 myRef快照 并将其打印在控制台中。它工作并打印了当前值。但是,transaction 不起作用并给出 null

请帮我解决这个问题。

最佳答案

您需要检查 data 是否为 null,因为这是第一次调用事务处理函数时发生的情况。如果处理程序出现在您执行事务的数据库位置,则将使用快照再次调用该处理程序。您可以在 documentation 中的示例代码中看到正在执行此检查。 .

关于javascript - React Native Firebase 事务无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57614316/

相关文章:

android - 找不到错误 : cannot access zzbfm class file for com. google.android.gms.internal.zzbfm

javascript - Firebase 网站 : upload multiple files to Storage an then download their URLs

angular - 如何在 Angular 应用程序中获取 Firebase Analytics 用户数据

javascript - 如何使用 React Native 阻止特定屏幕的硬件后退按钮?

javascript - 如果元素 id 是数字或包含数字,jQuery 中的 this.id 将不会获取元素 id

javascript - div 中的搜索值

javascript - 将表格单元格上的点击重定向到其中的 <a>

android - react native 当前位置在 AndroidManifyingst.xml ACCESS_FINE_LOCATION 中请求许可,但已添加

android - 如何获取TextInput中的光标位置以及光标位置之后的内容?

javascript - 未捕获的类型错误 : Cannot read property 'val' of null