gpt4 book ai didi

javascript - 在 React 应用程序中查看/管理 Firebase 监听器的数量

转载 作者:行者123 更新时间:2023-11-30 11:33:28 26 4
gpt4 key购买 nike

我有一个 React Redux 应用程序,它将在多个 Firebase 端点上有监听器。这些监听器将在应用程序的不同位置安装和卸载,我打算根据数据库更改动态生成这些监听器。

问题

  1. 我可以查看 firebase 对象上的活跃监听器数量吗?
  2. 在下面的代码中,var firebaseRef 是对实际 firebase 对象的引用,对吗?因此,所有监听器实际上都在 firebase 对象上,如果组件在未调用 .off() 的情况下卸载,则不会被销毁?
  3. 我是否应该担心拥有大约 10 个活跃的听众?
  4. 有谁知道如果不对数据库引用使用 .off() 会破坏代码吗?或者它会显着改变性能?

The Firebase Documentation has it mounted in ComponentWillMount

componentWillMount: function() {
var firebaseRef = firebase.database().ref('todoApp/items');
this.bindAsArray(firebaseRef.limitToLast(25), 'items');
}

并在 ComponentWillUnmount 处移除

componentWillUnmount: function() {
this.firebaseRef.off();
}

谢谢!

最佳答案

  1. Can I view the number of active listeners on the firebase object?

没有 API 可以返回客户端中事件的监听器数量。但是您可以轻松地自己保留一个柜台。

  1. In the code below, var firebaseRef is a reference to the actual firebase object correct? Therefore, all listeners are really on the firebase object and will not be destroyed if the component unmounts without calling .off()?

Reference 实际上只是关于数据库中某个位置的信息。将它们留在身边非常便宜。

  1. Should I worry about having ~10 active listeners?

听众的数量不是什么大问题。您应该考虑的是您正在阅读的数据量。一般来说,我建议只同步您(主动或经常)向用户显示的数据。

  1. Does anyone know if not using .off() on database references will break code? Or that it will significantly alter performance?

调用 .off() 或不调用都不会破坏代码。但是一旦您使用 on() 将监听器附加到某个位置,该位置的数据将同步,直到您调用 off()。在您的应用中有大量挥之不去的听众可能会导致读取用户看不到的大量数据。

关于javascript - 在 React 应用程序中查看/管理 Firebase 监听器的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45379377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com