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

Как кол-во объявленных useState вначале влияет на рендер страницы? допустим,

мы создали 2 разных useState и положили в инишиал стейт каждого что то. Сколько будет ререндеров , при открытии компонента? Как изменится поведение , если вместо 2ух разных создать один useState и сделать его обектом с двумя свойствами, и уже в них положить данные?

11 ответов

6 просмотров

Не могу подробно сказать, сколько ререндеров и тд, но при 1 useState их будет меньше, чем при 2х

Так напиши простой код и проверь

Евгений-Шевченко Автор вопроса
Nava Sagi
Не могу подробно сказать, сколько ререндеров и тд,...

хотелось бы точную инфу, и почему. И если в процессе мы будем меняь оба стейта отдельных ,или менять один стейт, но каждое его свойство, то разницы получается не будет? рендер ведь так же будет на каждое изменение что стейта, что свойства? Вопрос к тем, кто реально тестил и работает с оптимизацией.

Евгений Шевченко
хотелось бы точную инфу, и почему. И если в процес...

Создаешь 2 стейта, создаешь 2 кнопки, прикрепляеш 2 хендлера, в одном меняешь один стейт, во втором 2, консоль логами смотришь количество рендеров

Евгений-Шевченко Автор вопроса
OK386
https://youtu.be/qdCGwwSefX8

да это вообще не то, причем тут батчинг. Перечитай вопрос плиз

Евгений Шевченко
да это вообще не то, причем тут батчинг. Перечитай...

там показано на примере сколько раз перерисовывается при одновременном изменении 2х стейтов

Евгений-Шевченко Автор вопроса
Міша
Создаешь 2 стейта, создаешь 2 кнопки, прикрепляе...

чел ты рофлишь или что? если я спросил тут, ты реально думаешь,что я сам не знаю как сделать пример? нет возможности сейчас, и в ближайшие сутки. А люди , которые работают с оптимизацией точно тестили

Евгений Шевченко
чел ты рофлишь или что? если я спросил тут, ты реа...

Это максимум 5 минут, ты ждёшь ответа уже больше 30минут.

1 ререндер будет. Начиная с 17 версии реакт научился в батчинг. Аналогично и с изменениями нескольких юзстейстов, он их собирает в пачку и делает 1 ререндер. Но в 17 версии батчинг не умеет в асихнрощину (промисы и пр.). С 18 версии работает и с промисами батчинг

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта