Size: a a a

React — русскоговорящее сообщество

2021 January 26

И

Иван in React — русскоговорящее сообщество
Vlad Minenko
Особенно актуально в Formik, Final-Form
оптимизируем ререндеры
источник

VM

Vlad Minenko in React — русскоговорящее сообщество
Иван
оптимизируем ререндеры
я вот юзаю FastField у формика, но все равно медленно
источник

𝓐

𝓐𝓷𝓸𝓷𝔂𝓶𝓸𝓾𝓼... in React — русскоговорящее сообщество
У тебя там форма на сто импутов что ли
источник

VM

Vlad Minenko in React — русскоговорящее сообщество
30 где-то, но у меня менеджер как сумашедший текст в вводит
источник

VM

Vlad Minenko in React — русскоговорящее сообщество
и говорит, что лагает
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Vlad Minenko
Как решаете проблему, что при очень быстром вводе в инпут он начинает жестко лагать?
1. Расставлять повсюду React.memo
2. Взять react-hook-form
источник

V

Vetro in React — русскоговорящее сообщество
Пусть девайс помощнее купит 🌚
источник

И

Иван in React — русскоговорящее сообщество
Vlad Minenko
я вот юзаю FastField у формика, но все равно медленно
погугли “react rerender profiling” и оптимизируй то, что лагает. не “ну я юзаю компонент, лагать не должно, а оно лагает”, а “ага, вот тут есть лишние ререндеры, надо опитмизировать вот этот компонент”
источник

VM

Vlad Minenko in React — русскоговорящее сообщество
Victor Rusakovich
1. Расставлять повсюду React.memo
2. Взять react-hook-form
мне usememo не поможет
источник

VM

Vlad Minenko in React — русскоговорящее сообщество
значения берутся из контекста
источник

VM

Vlad Minenko in React — русскоговорящее сообщество
Иван
погугли “react rerender profiling” и оптимизируй то, что лагает. не “ну я юзаю компонент, лагать не должно, а оно лагает”, а “ага, вот тут есть лишние ререндеры, надо опитмизировать вот этот компонент”
ок
источник

V

Vall 🌑 in React — русскоговорящее сообщество
Vlad Minenko
мне usememo не поможет
Тебе не про useMemo говорят
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Vlad Minenko
значения берутся из контекста
Так проблема контекста в том, что при любом его изменении, все кто его используют, ререндерятся. Поэтому либо меньше обновляй контекст (debounce), либо не ререндери компоненты (React.memo), либо взять библиотеку, которая быстрее рендерит формы (RHF)
источник

VM

Vlad Minenko in React — русскоговорящее сообщество
Victor Rusakovich
Так проблема контекста в том, что при любом его изменении, все кто его используют, ререндерятся. Поэтому либо меньше обновляй контекст (debounce), либо не ререндери компоненты (React.memo), либо взять библиотеку, которая быстрее рендерит формы (RHF)
попробую мб держать валью инпутов локально, а в formik закидывать уже при onBlur
источник

OW

Oliver Wall in React — русскоговорящее сообщество
Vlad Minenko
Особенно актуально в Formik, Final-Form
еще такое есть в redux-form там вообще жесть, оптимизировал свыше 100 array-field

Что именно у тебя?
источник

V

Vetro in React — русскоговорящее сообщество
Victor Rusakovich
Так проблема контекста в том, что при любом его изменении, все кто его используют, ререндерятся. Поэтому либо меньше обновляй контекст (debounce), либо не ререндери компоненты (React.memo), либо взять библиотеку, которая быстрее рендерит формы (RHF)
RHF не "быстрее рендерит формы"
источник

OW

Oliver Wall in React — русскоговорящее сообщество
В finalForm попробуй настроить подписки. Это первый шаг к оптимизации
источник

И

Иван in React — русскоговорящее сообщество
Vlad Minenko
попробую мб держать валью инпутов локально, а в formik закидывать уже при onBlur
попробуй разобраться, как профилировать. не “ну я попробую, вдруг поможет”, а “Я ВИЖУ ГДЕ ПРОБЛЕМА, ПОГУГЛЮ КАК ЕЁ РЕШАТЬ”
источник

VR

Victor Rusakovich in React — русскоговорящее сообщество
Vetro
RHF не "быстрее рендерит формы"
источник

V

Vetro in React — русскоговорящее сообщество
Основной прирост все равно не из-за чуть более быстрых рендеров, а из-за их существенно меньшего количества за счёт неконтролируемых инпутов
источник