Size: a a a

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

2020 October 21

A

Alex in React — русскоговорящее сообщество
Evgeniy Mokeev
Ну да, все верно. Родитель когда обновляется, то вызывает рендер чайлдов. Если ты хочешь этого избежать- оберни items в memo, тогда он будет проверять пропы на изменение https://ru.reactjs.org/docs/react-api.html#reactmemo
да, спасибо, уже читаю про memo. а это нормальная практика, когда большая часть всех компонентов будет обернута в memo?
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Alex
да, спасибо, уже читаю про memo. а это нормальная практика, когда большая часть всех компонентов будет обернута в memo?
Без надобности оборачивать не надо
Количество рендеров просто так оптимизировать не надо
источник

G

GG in React — русскоговорящее сообщество
Alex
да, спасибо, уже читаю про memo. а это нормальная практика, когда большая часть всех компонентов будет обернута в memo?
Он тоже не полностью поможет
источник

EM

Evgeniy Mokeev in React — русскоговорящее сообщество
Alex
да, спасибо, уже читаю про memo. а это нормальная практика, когда большая часть всех компонентов будет обернута в memo?
От проекта сильно зависит. Это все же дополнительные проверки. Поэтому может на производительность влиять как в лучшую так и в худшую сторону
источник

EM

Evgeniy Mokeev in React — русскоговорящее сообщество
Vladimir Klimov
Без надобности оборачивать не надо
Количество рендеров просто так оптимизировать не надо
+++
источник

w

whyamsx in React — русскоговорящее сообщество
Кто шарит, объясните пожалуйста в двух словах, что чаще используют: useState или useRef, и в каких случаях что лучше?
источник

A

Alex in React — русскоговорящее сообщество
хорошо, понял, пойду читать подробнее
спасибо большое, ребят
источник

С

Семён in React — русскоговорящее сообщество
Ivan Zaikin
let signals = [...state.signals];
signals[foundIndex] = signal;
Спасибо!
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
whyamsx
Кто шарит, объясните пожалуйста в двух словах, что чаще используют: useState или useRef, и в каких случаях что лучше?
У них разное назначение ведь, ну вообще
источник

OF

Oleg Frolov in React — русскоговорящее сообщество
ребят, а есть что посовременнее classnames ?
источник

С

Семён in React — русскоговорящее сообщество
Коллеги, а что обычно используется в качестве ключей в списках, когда компоненты не имеют ничего уникального, а их надо все же потом модифицировать в массиве?
источник

w

whyamsx in React — русскоговорящее сообщество
Я просто смотрел как useState удаляют и делают то же самое через useRef, но зачем
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
whyamsx
Я просто смотрел как useState удаляют и делают то же самое через useRef, но зачем
Это разные вещи, приводите какой-то конкретный пример хотя бы
А то впечатление, что вы спрашиваете и сами не понимаете вопрос)
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
Семён
Коллеги, а что обычно используется в качестве ключей в списках, когда компоненты не имеют ничего уникального, а их надо все же потом модифицировать в массиве?
Генерируйте один раз уникальные ключи срок жизни которых совпадает со сроком жизни данных в приложении с помощью какого-то nanoid
Только не в рендере, а один единый раз, например, при получении из апи
источник

w

whyamsx in React — русскоговорящее сообщество
Банальный пример с h1 в котором показывается целочисленное значение, которое лежит в переменной которая создана через useState и есть кнопка которая прибавляет это значение, и соответственно весь компонент перерисовывается всегда, когда значение меняется
Можно точно то же самое сделать через useRef ВМЕСТО useState, так ведь?
Можно тоже создать значение по дефолту которое будет равняться нулю, прибавлять к нему +1 через dispatch и рендерить компонент заново
источник

С

Семён in React — русскоговорящее сообщество
Vladimir Klimov
Генерируйте один раз уникальные ключи срок жизни которых совпадает со сроком жизни данных в приложении с помощью какого-то nanoid
Только не в рендере, а один единый раз, например, при получении из апи
»nanoid - спасибо, то что нужно!
источник

EM

Evgeniy Mokeev in React — русскоговорящее сообщество
whyamsx
Банальный пример с h1 в котором показывается целочисленное значение, которое лежит в переменной которая создана через useState и есть кнопка которая прибавляет это значение, и соответственно весь компонент перерисовывается всегда, когда значение меняется
Можно точно то же самое сделать через useRef ВМЕСТО useState, так ведь?
Можно тоже создать значение по дефолту которое будет равняться нулю, прибавлять к нему +1 через dispatch и рендерить компонент заново
В useRef нет способа вызвать рендер. Ты не путаешь с useReducer?
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
whyamsx
Банальный пример с h1 в котором показывается целочисленное значение, которое лежит в переменной которая создана через useState и есть кнопка которая прибавляет это значение, и соответственно весь компонент перерисовывается всегда, когда значение меняется
Можно точно то же самое сделать через useRef ВМЕСТО useState, так ведь?
Можно тоже создать значение по дефолту которое будет равняться нулю, прибавлять к нему +1 через dispatch и рендерить компонент заново
Можно ли сделать то же самое средствами только useRef? Нет, вам надо в любом случае сигнализировать как-то о том, что нужно запустить перерендер
Нужно так делать? Точно нет.
useRef нужен, когда нужно мутабельное значение, которое не зависит никак от жц реакта и ссылка на которое между рендерами одинаковая
источник

w

whyamsx in React — русскоговорящее сообщество
Vladimir Klimov
Можно ли сделать то же самое средствами только useRef? Нет, вам надо в любом случае сигнализировать как-то о том, что нужно запустить перерендер
Нужно так делать? Точно нет.
useRef нужен, когда нужно мутабельное значение, которое не зависит никак от жц реакта и ссылка на которое между рендерами одинаковая
Понял, спасибо большое
источник

С

Степа Хлопкинс... in React — русскоговорящее сообщество
Ребята, почему редьюсер должен быть чистой функцией? Я понимаю, что мы  должны не мутировать стор, а  вернуть новый, с новой ссылкой, но почему мы не можем каким-либо образом изменять payload?
источник