169 похожих чатов

19 ответов

11 просмотров

Почему бы в useMemo не использовать цикл? Скорее всего можно, если они будут беспеременно вызываться, но таких кейсов я не встречал

только если количество итераций неизменное но вообще зачем?

Михаил-Ковальчук Автор вопроса
Roman Usherenko
только если количество итераций неизменное но воо...

мм, не уверен зачем) Есть древовидная структура, раскрывающиеся списки. Данные для рендера хранятся в одном объекте, с вложеностями. Можно ли сделать так, чтобы рендерилась только та часть списка, на которую пользователь нажал, что бы открыть, а все остальное(остальные элементы, в т.ч уже открытые) оставалось в таком же виде, и не перерендеривалось??

Михаил-Ковальчук Автор вопроса
Кирилл
да, тут useMemo поможет

нуу, сомнительно.. я не придумал как useMemo может тут помочь

Михаил Ковальчук
мм, не уверен зачем) Есть древовидная структура, р...

только разбивать данные для рендера на отдельные куски, настраивать ключи

Михаил-Ковальчук Автор вопроса
Александр Шелист
только разбивать данные для рендера на отдельные к...

весь список рендерится с помощью одного компонента(компонент-элемент списка), вызываемого рекурсивно. В него приходит объект с данными, и на их основе всё рисуется. Когда пользователь раскрывает какой-то элемент списка, объект обновляется, и происходит перерисовка. С учетом этого, как то сложно представить как разбивать на куски)

Михаил-Ковальчук Автор вопроса
Александр Шелист
состояние компонента перенести в localState

хммм, оооочень интересная мысль) надо будет попробовать. Спасибо большое

Михаил Ковальчук
весь список рендерится с помощью одного компонента...

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

Михаил-Ковальчук Автор вопроса
Sergey
Оберни в React.memo это должно решить проблему, т....

Хммм) Интересно.. Спасибо большое, попробую

Михаил-Ковальчук Автор вопроса
Sergey
Оберни в React.memo это должно решить проблему, т....

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

Михаил Ковальчук
Пробовал.. по идее это ж не должно срабатывать, по...

Пропсы нужно менять вдоль ветки на листьях которой поиенялось

Михаил Ковальчук
Пробовал.. по идее это ж не должно срабатывать, по...

Вообще тут нужен стейт менеджер (redux, mobx и т.д.) тогда можно будет точечно рендерить только изменившийся элемент

Михаил-Ковальчук Автор вопроса
Sergey
Вообще тут нужен стейт менеджер (redux, mobx и т.д...

там выше предложили использовать локальный стейт, я еще не думал подробно над этой идеей, но возможно поможет

Михаил Ковальчук
там выше предложили использовать локальный стейт, ...

Если этот стейт за пределами компонента не нужен, то локальный стейт это хорошее решение

Михаил Ковальчук
там выше предложили использовать локальный стейт, ...

Но в React.memo все равно нужно обернуть, иначе все дети изменившегося родителя перерендерятся

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Dim Dim, [02.07.2024 11:07] DB 0x62 Dim Dim, [02.07.2024 11:07] DB 0x66 Dim Dim, [02.07.2024 11:07] кто пояснит что это?
Dim Dim
14
Ошибка: segmentation fault (core dumped) Код: pastebin.com/BEsNNSSV Сообщение от компилятора: отсутствует ОС: Arch Linux Ядро: x86_64 Linux 6.9.7-arch1-1 Процессор: Intel Cele...
sec
4
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Кстати, я тут еще с одной темой столкнулся, вот учу я C++, на таком то ресурсе, а остальные постоянно советуют практиковаться, что то писать, проекты, но как писать если вот т...
aaswq1
7
Коллеги, как получить PId для собственного процесса из под линукса?
Роман Лях (rgreat)
6
@ahndmn @ayaw0_0 здарова, на чем пишете?
Aiwan \ (•◡•) / _bot
7
Карта сайта