Здравствуйте. Реализовал чатик, подгружаю по 20 сообщений при прокрутке вверх, при достижении 0 я кручу вниз на 20 сообщений чтобы юзер попал туда, где остановился. Однако попал в ситуацию что сообщения закончились, а меня каждый раз отбрасывает на 20 назад. Как это исправить?
prevMessages - дополнительно подгруженные сообщения
messagesBox - элемент с сообщениями
useEffect(() => {
if(messagesBox) {
messagesBox.onscroll = (e) => {
if(e.target.scrollTop < 1) {
e.target.scrollTo(0, e.target.querySelector('.direct-chat-msg:nth-child(20)').offsetTop);
const msgID = prevMessages.length ? parseInt(prevMessages[0].id) : parseInt(messages[0].id);
socket.emit('getPrevMessages', {roomId, msgID});
}
e.preventDefault();
}
}
}, [prevMessages]);
Спасибо.