Size: a a a

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

2020 July 15

TG

Timofey Goncharov in React — русскоговорящее сообщество
Андрей Звёздочка
Проблема мышления #1: считать что я умнее других и не пытаться понять почему сделано то или иное решение
да нет же. я прекрасно тебя понял и прекрасно понял преимущество rff над моей реализацией. просто с самого начало я немного удивился некоторым сообщениям когда было сказано что "rff из коробки сделает супер производительность без виртуализации и ничего не будет лагать". может я чего не понял. но в итоге все лагает если будет очень много инпутов и все так же встает вопрос о виртуализации.

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

A

Andrey in React — русскоговорящее сообщество
Timofey Goncharov
да нет же. я прекрасно тебя понял и прекрасно понял преимущество rff над моей реализацией. просто с самого начало я немного удивился некоторым сообщениям когда было сказано что "rff из коробки сделает супер производительность без виртуализации и ничего не будет лагать". может я чего не понял. но в итоге все лагает если будет очень много инпутов и все так же встает вопрос о виртуализации.

по поводу перерендеров соседних инпутов которые могли бы не ререндериться. это мне тоже прекрасно понятно. их достаточно обернуть в react.memo с нужным коолбеком что бы добиться такой логики. но я подумаю о том есть ли лучшее решение для этого.
это мне руками надо будет react.memo везде вставлять?)
исходя из текущего апи
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Andrey
это мне руками надо будет react.memo везде вставлять?)
исходя из текущего апи
не везде а только в Input который ты переиспользуешь.

и только в том случае если ты действительно стоклнется с лагами.

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

а если все же в обычной форме будут заметны какие-то фризы, можно все оптимизировать через memo.

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

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Timofey Goncharov
да нет же. я прекрасно тебя понял и прекрасно понял преимущество rff над моей реализацией. просто с самого начало я немного удивился некоторым сообщениям когда было сказано что "rff из коробки сделает супер производительность без виртуализации и ничего не будет лагать". может я чего не понял. но в итоге все лагает если будет очень много инпутов и все так же встает вопрос о виртуализации.

по поводу перерендеров соседних инпутов которые могли бы не ререндериться. это мне тоже прекрасно понятно. их достаточно обернуть в react.memo с нужным коолбеком что бы добиться такой логики. но я подумаю о том есть ли лучшее решение для этого.
Кстати, вопрос такой: у тебя в $values попадают невалидные значения форм?
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Андрей Звёздочка
Кстати, вопрос такой: у тебя в $values попадают невалидные значения форм?
да
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Timofey Goncharov
не везде а только в Input который ты переиспользуешь.

и только в том случае если ты действительно стоклнется с лагами.

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

а если все же в обычной форме будут заметны какие-то фризы, можно все оптимизировать через memo.

но я всех услышал и подумаю о том, что бы на уровне useForm сделать все возможное для повышения приозводительности без дополинтельных действий.
Чувак. Виртуализация - это не панацея. У тебя сложные формы могут и на 1 экран попадать
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
А как узнать что форма валидна?
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Андрей Звёздочка
Чувак. Виртуализация - это не панацея. У тебя сложные формы могут и на 1 экран попадать
да понял я) я же пишу выше что можно юзать memo. но даже несмотря на это я подумаю о лучшей производительности)
источник

A

Andrey in React — русскоговорящее сообщество
Timofey Goncharov
не везде а только в Input который ты переиспользуешь.

и только в том случае если ты действительно стоклнется с лагами.

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

а если все же в обычной форме будут заметны какие-то фризы, можно все оптимизировать через memo.

но я всех услышал и подумаю о том, что бы на уровне useForm сделать все возможное для повышения приозводительности без дополинтельных действий.
можно жить без фризов, но вкладка будет жрать 50-60% цпу, когда юзер заполняет свое имя
сидишь такой, чепятаешь, а у тебя кулер начинает на вторую космическую выходить

руками оборачивать - не вариант, в чем задача либы тогда,
биндинг из реакта в эффектор?
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Андрей Звёздочка
А как узнать что форма валидна?
onSubmit при срабатывании прокидывает объект с кучей полезной информации. там есть form.hasError например.
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Timofey Goncharov
да понял я) я же пишу выше что можно юзать memo. но даже несмотря на это я подумаю о лучшей производительности)
Мемо тебе не поможет. Всё равно для кадого инпута будет вызываться ререндер
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Андрей Звёздочка
Мемо тебе не поможет. Всё равно для кадого инпута будет вызываться ререндер
ты прав) надо подумать об этом получше)
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Timofey Goncharov
onSubmit при срабатывании прокидывает объект с кучей полезной информации. там есть form.hasError например.
Мне не нужно onSubmit. Мне нужно слать аналитику по текущим заполненным данным каждые 5 секунд
источник

OR

Oleg Rizhkov in React — русскоговорящее сообщество
Андрей Звёздочка
Мемо тебе не поможет. Всё равно для кадого инпута будет вызываться ререндер
может, запрос на ререндер, а не сам рендер?
источник

DK

Dmitriy Kupriyanov in React — русскоговорящее сообщество
Народ, где почитать про этот синтаксис?
  let a={b:{}};
 console.log(a.b?.c?.slice(1));
и как он называется, тоже плиз скажите, если знаете.
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Oleg Rizhkov
может, запрос на ререндер, а не сам рендер?
Я про реакт говорю сейчас, а не про физическую перерисовку
источник

OR

Oleg Rizhkov in React — русскоговорящее сообщество
Dmitriy Kupriyanov
Народ, где почитать про этот синтаксис?
  let a={b:{}};
 console.log(a.b?.c?.slice(1));
и как он называется, тоже плиз скажите, если знаете.
optional chaining.
источник

TG

Timofey Goncharov in React — русскоговорящее сообщество
Андрей Звёздочка
Мне не нужно onSubmit. Мне нужно слать аналитику по текущим заполненным данным каждые 5 секунд
$values.wath
useForm({onChange})
способны на это.

но как я понял ты хочешь получать только валидные инпуты?
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Timofey Goncharov
$values.wath
useForm({onChange})
способны на это.

но как я понял ты хочешь получать только валидные инпуты?
Я хочу знать валидна форма или нет раз в 5 секунд
источник

АЗ

Андрей Звёздочка... in React — русскоговорящее сообщество
Если используешь эффектор, то используй по-максимуму. Какие колбеки? Делай эвенты
источник