I'd like to just fetch a list once and then have it in memory and use child_added to process items being created.
It's inconvenient for me to only use child_added because doing so would cause me to re-render my entire list for every child_added event. I'd rather render the whole list once at page load, then for each item that's added.
My code:
ref.once('value', (snapshot) => { let messages = [] snapshot.forEach(function(childSnapshot) { let messageKey = childSnapshot.key let message = childSnapshot.val() messages.push(message) }) // Render messages list once ref.on('child_added', (message) => { const messageVal = message.val() // Append message and re-render list } }) The problem is that I still get child_added events for each existing node.
Is the most advisable thing to do just to track which items I've already processed and ignore them in child_added ? Or is there a way to only get new updates?
Thanks