пометить сообщение как прочитанное, то сначала мне надо заменить сообщение, потом список сообщений, потом диалог, а потом список диалогов?
нет, только сообщение, зачем заменять список сообщений!?
Добавь состояние в сторе IsSeen к каждому сообщению например
Обсуждают сегодня