尝试使用Firebase时useEffect内出现无限循环

时间:2020-03-19 22:16:34

标签: reactjs firebase loops use-effect

我正在构建一个用于记录电表和燃气表值的应用:https://n3g.gitlab.io/react-conso-energie/

如果您检查控制台,则会看到console.log的无限打印内容。

以下是发生这种魔术的文件: https://gitlab.com/n3g/react-conso-energie/-/blob/br/V2/src/ListingExpansionPanels.js

我不明白为什么我的useEffet(第19行)被无限触发,尽管我在第36行添加了[dbRef]检查。

在我的想象中,只有在我添加或删除数据库中的内容时才会触发它?

感谢您能看看,因为自几周以来我一直在努力。我确实认为,当我尝试从数据库中获取数据时,事情已经变得太复杂了。

1 个答案:

答案 0 :(得分:1)

尝试像这样用useRef钩包装firebase.database().ref('2020')

const dbRef = useRef(firebase.database().ref('2020'));

然后从useEffect deps数组中删除dbRef,将用法从dbRef更改为dbRef.current