【发布时间】:2019-05-14 16:10:37
【问题描述】:
我有一个这样的 Firebase 实时数据库。
myRoot
|--- mykey1
| |---myValue: 1
|
|--- mykey2
| |---myValue: 0
|
|--- mykey3
|---myValue: 2
我需要将所有这些值加一并得到以下输出。
myRoot
|--- mykey1
| |---myValue: 2
|
|--- mykey2
| |---myValue: 1
|
|--- mykey3
|---myValue: 3
如何使用循环来做到这一点?或者,在 React Native 中执行此操作的最佳方法是什么?
我真正想要的是这个。让我们想想,我有一个主屏幕。它有一个名为“列表值”的按钮。当我单击时,我导航到下一页(堆栈导航器)并在那里显示 myKey1、myKey2、myKey3 的值。这是一个平面列表。假设在第二个屏幕中有一个名为“增量值”的按钮。当我按下它时,我想增加值并导航回主屏幕。
我尝试过类似的方法。
let arr = ['myKey1' , 'myKey2' , 'myKey3']
try {
for(let i=0; i<arr.length; i++) {
let ref = firebase.database().ref(myRoot).child(arr[i]);
ref.transaction( function(myValue) {
return (myValue || 0) + 1;
})
}
this.props.navigation.goBack();
}
catch(error) {
console.log(error));
}
它改变了我期望的数据库中的值。但是,它在执行后会给出以下黄色警告。
无法在未安装的组件上调用 setState(或 forceUpdate)。这是一个空操作,但它表明您的应用程序中存在内存泄漏。修复,在componentWillUnmount方法中取消所有订阅和异步任务
这是一个示例模型来解释我需要什么。
如何解决这个问题?
【问题讨论】:
标签: javascript firebase react-native firebase-realtime-database