Главная Юзердоски Каталог Трекер NSFW Настройки

Web-мастера

Ответить в тред Ответить в тред
Check this out!
<<
Назад | Вниз | Каталог | Обновить | Автообновление | 1 2 1
React + WebSocket Аноним 03/08/22 Срд 21:11:25 136052 1
Screenshot 2022[...].png 122Кб, 596x538
596x538
Screenshot 2022[...].png 238Кб, 1386x1266
1386x1266
Вкатываюсь из бекенда во фронт. По сути мне на работе сказали что вот тебе время, сиди решай задачу, но главное чтоб она была на React. Я будучи дедом прочитал мануал, полистал репозиторий, собрал мелкие проекты и теперь нужно решить эту реальную задачу:

Бекенд через вебсокет высерает какие-то данные. При подключении это json со списком топиков ['topic-1', 'topic-2', 'topic-3], а потом при каждом обновлении этого топика выпёрдывает какое-то числовое значение типа: {topic: 'topic-1', value: 3}

В реакте я сделал хук который подрубается в сокету, читает первое сообщение и на основе него забивает стейт. условно setTopics(data) где data это массив который пришёл при подключении

В JSX это topics.map(topic => <Topic key={topic} name={topic}/>). понятное дело я всё упрощаю чтоб не делать простыней

Моя проблема возникает тогда когда один из этих топиков обновляется каждую секунду, а остальные топики нет и их может быть довольно много. Я не пойму как мне обновлять состояние каждого топика так чтоб не обновлялся стейт родительского компонента и не перерисовывал остальные топики или тут хватает memo на компоненте топика?

И второй вопрос такой: в топике отображается график изменений его значений и тут не очень уместно делать ререндер так как я использую библиотеку для построения графиков. При ререндере она дёргается и не отображает анимации добавления новой точки. То есть мне нужно добавлять числа в массив этого топика и при этом не перерендеривать его часть, но обрабатывать некое событие добавления
Ответить в тред Ответить в тред

Check this out!

Настройки X
Ответить в тред X
15000
Добавить файл/ctrl-v
Стикеры X
Избранное / Топ тредов