我正在构建一个用于记录电表和燃气表值的应用: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]检查。
在我的想象中,只有在我添加或删除数据库中的内容时才会触发它?
感谢您能看看,因为自几周以来我一直在努力。我确实认为,当我尝试从数据库中获取数据时,事情已经变得太复杂了。
答案 0 :(得分:1)
尝试像这样用useRef钩包装firebase.database().ref('2020')
:
const dbRef = useRef(firebase.database().ref('2020'));
然后从useEffect deps数组中删除dbRef,将用法从dbRef
更改为dbRef.current