[英]Limit Firebase rerenders with React Hooks
我有一个 Firebase 实时数据库,我想通过映射列表来显示记录。
到目前为止我有:
useEffect(() => {
dbRefObject.on('value', snap => getRecords(snap.val()))
}, [dbRefObject, records])
在其他地方我有:
export const dbRefObject = firebase.database().ref().child('record');
我的 getRecords() function 是:
const getRecords = (snap) => {
let _recordsMap= []
for (let record in snap) {
_recordsMap.push({[record] : snap[record]})
}
我想要某种行为,例如 useEffect 返回的 unsubscribe() function,但我无法让它工作?
useEffect(() => {
const unsubscribe = () => {dbRefObject.on('value', snap => getRecords(snap.val()))}
return () => {
unsubscribe()
}
}, [dbRefObject, records])
你需要调用 dbRefObject.off("value", originalCallback);
检查https://firebase.google.com/docs/database/admin/retrieve-data#section-detaching-callbacks
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.