Проблема заключалась в том, что
React.useEffect(() => {
socket.on("ROOM:SET_MESSAGES", dispatchMessage)
}, [])
socket.on выполнялся 2 раза при каждом emit'e в серверной части. Я убрал лишний 2-й раз путем удаления React.StrictMode в index.js, но правильно ли так делать или есть способ лучше?