Читайте доку по useEffect
https://reactjs.org/docs/hooks-reference.html#clea...
Вы не освобождаете конекшн при анмаунте
возвращайте из useEffect функцию, которая отключится от сокета
Вот этот кусок кода у вас продолжает выполнятся после того как компонент был отмонтирован,
console.log('Подключился к прослушиванию сообщений в user list с id: ', socket.id)
setUsrs(dataUsers)
вам 1) вынести его в отдельную функцию, при маунте делать socket.on(' не на анонимную функцию а на именованую
2) При анмаунте делать socket.off если он это поддерживает