【发布时间】:2020-09-20 19:27:46
【问题描述】:
我目前正在开发一个使用 Firebase 作为后端的 React Native 应用。细节我不会太具体,但基本上,应用程序必须不断获取上传的新数据,所以我在我的主代码中添加了这部分:
useEffect(() => {
db.ref('rooms').on('value', (data) => {
if (startRoom.id) {
ping = (data.val());
setRoom(() => (data.val())[startRoom.id]);
}
});
},[ping]);
这样,每次在我的数据库中的对象“房间”中添加新数据时,应用程序都能够更新与其链接的所有变量。然而,这个过程可能会导致一些巨大的减速和性能问题:实际上,当不同用户上传大量数据时,或者当数据上传速度非常快时(比如说,上传是由用户点击处理的,所以非常快速的点击可能会导致db 发疯了),该应用程序会不断刷新页面,甚至每秒几次,导致我所说的速度变慢。 所以我的想法是:无论如何我可以限制firebase ref方法随着时间的推移进行的提取次数吗?就像,如果数据库在一秒钟内上传七次,它只会捕获最后一次,而忽略例如在很短的时间内发生的上传。换句话说,我想知道是否有办法限制 ref 方法或 React Native 的 useEffect 方法的“敏感性”。 非常感谢!
【问题讨论】:
标签: android firebase react-native use-effect