@AlexKindGeek

Как спроектировать чат?

Всем привет. Есть задача сделать чат.
Вот дизайн:
5bafced12f662131921226.png


В топе должны быть все непрочитанные чаты
Проблема в том, что весь список реализован как Infinite scroll т.к чатов может быть много и бекенд отдает их рандомно

На бекенде я попросил сделать роут для получение всех unread и read чатов.
Вот так выглядит request body
5bafd01b00940466559118.png

И передать структуру в
5bafd0ea9fbf9223281230.png

Скажите пожалуйста нормальная ли у меня идея перепроектирования или можно как то более проще это все сделать?

Вот так выглядит компонент при моем проектировании:
import React, { Component } from "react";

/**Components */
import UserControls from "./UserControls";
import UnreadUsers from "./UnreadUsers";
import AllUser from "./AllUser";


export default class UserComponent extends Component {
  render() {
    return (
      <div className="scroll-container">
        <UserControls /> // компонент с input для поиска и фильтрации
        <div className="users-list">
          <UnreadUsers /> 
          <AllUser />
        </div>
      </div>
    );
  }
}
  • Вопрос задан
  • 350 просмотров
Решения вопроса 1
profesor08
@profesor08
На бэке список чатов должен сортироваться по дате последнего сообщения и наличию непрочитанных сообщений еще в момент выборки из бд. Если это по какой-то глупой причине невозможно сделать, то работай с тем, что есть, инфа о непрочитанных в любом случае обязана возвращаться в ответе от сервера, как и дата последнего сообщения. Отобрази их первыми и в нужном порядке. Как только подгружаются новые непрочитанные, пихай их в начало.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы