useEffect(() => { messagesRef.on('child added', snapshot => { const message = snapshot.val(); message.key = snapshot.key; setMessages(messages.concat(message)); // See Note 1 }, []); // See Note 2