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

19 ответов

27 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта