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

Добрый день Подскажите почему при выборе любого айтема присутствует такая долгая

задержка после клика, таких айтемов в этом списке может быть до 1000, функция которая обрабатывает данный функционал довольна проста, в useState я сетаю id и все

Так же я заметил если в списке будет 10 таких айтемов то никакой задержки нет, что с этим можно сделать?

9 ответов

12 просмотров
Хасанов-Юсуф Автор вопроса
Хасанов Юсуф
screenshot

Скорее всего когда сетаешь id огромное количество ререндеров идёт

Хасанов-Юсуф Автор вопроса
Хасанов Юсуф
То есть при клике, все айтемы перерисовываются?

Скорее всего да. Но кода я не видел, но думаю так и есть))

Хасанов-Юсуф Автор вопроса
луны безымянный труп
Скорее всего да. Но кода я не видел, но думаю так ...

Если я правильно понимаю то из-за того что я меняю стэйт происходит перерисовка, а можно ли от этого избавиться? Вроде useMemo да для этого использовать?

Хасанов Юсуф
Если я правильно понимаю то из-за того что я меняю...

Избавиться можно, надо только понятно точно в чём проблема (почему ререндеры идут). Я ведь только предположил. Там выше чуть писали про memo, usecallback. Полистай чатик.

Хасанов Юсуф
screenshot

Scrollview или flatlist? Скорее всего происходит ререндеры всех карточек, которые смонтированы. Проверить легко можно добавив console.log внутри компонента айтема. При выборе элемента должен быть рендер только двух элементов. 1 - который развыбрали, 2 - который выбрали. Если больше, то надо оптимизировать код

Хасанов-Юсуф Автор вопроса
Viktor
Scrollview или flatlist? Скорее всего происходит р...

Да я вот пытаюсь оптимизировать) Вроде понял что вызывает перерисовку

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
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
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта