потому что при изменении стейта оно и должно перерисовывааться
все правильно состояние компонента меняется и он перерендер делает
спасиб
хорошо, спасибо
useMemo почитай
остается только понять, нормально ли то что инпут тогда тормозит, там конечно не существенно, но пару милисекунд он думает пержде чем вывести очередную букву
А при убирание фокуса из инпута потом поменять стейт, нет? (Новенький, может бред какой-то написал, а вдруг)
вытащи свои инпуты в компоненты и оберни React.memo(), тем самым у тебя не все инпуты будут рендарится при каждом чихе
Не надо тут useMemo читать. Если значение постоянно меняется мемоизация тут не поможет, а только наоборот займёт память зря
вариант?
useCallback для onchange. И, кстати, писать сеттеры состояния инлайн - плохая практика
как вариант менять состояние не через onChange а через onBlur, тогда не будет перерисовка на аждый чих срабатывать
А вот вытащить отдельно инпут отличная идея, чтобы не делать рендер всего компонента
поясни
Что конкретно? Про useCallback или про инлайн?
onBlur это же в redux-hook-form ?
инлайн
Ты получается всю форму рендеришь, а надо только инпут
onBlur это тоже обычный React event, срабатывает при потере фокуса
+ ))
Так суть же в том, что один компонент меняется, только он и перерисовывается часто. Вместо перерисовки тысячи компонентов на каждую букву
аааааааа
Да, благодарю, я понял
Надо типа так onChange={yourFunctionWithSmth} А уже в yourFunctionWithSmth делать изменения и оборачивать ее если нужно чем либо
да
спасиб 👍🏻
Ага
Обсуждают сегодня