Size: a a a

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

2020 December 28

O

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

И

Иван in React — русскоговорящее сообщество
AluV Daniil
Но это не значит что что-то нельзя, надо иметь ввиду просто что этот участок кода будет вызываться при каждом рендере и правильно учитывать это.
На каждый хук можно написать свои ограничения и полностью без них обходиться, правда это будет выглядеть более коряво но все же
Он новичок. Ему совсем нельзя. Просто нельзя.


Если ты очень большой молодец и знаешь, что делаешь — тебе можно.
Только чёт не могу придумать ситуацию, когда сайд-эффект в рендере — это не ошибка. Покажешь пример?
источник

I

IceBerg in React — русскоговорящее сообщество
AluV Daniil
Но это не значит что что-то нельзя, надо иметь ввиду просто что этот участок кода будет вызываться при каждом рендере и правильно учитывать это.
На каждый хук можно написать свои ограничения и полностью без них обходиться, правда это будет выглядеть более коряво но все же
И заразом учитывать ещё кучу всего неочевидного, например побочки от strictMod-а
источник

AD

AluV Daniil in React — русскоговорящее сообщество
ORT
Ну в онклике то диспач норм?
Вынеси стрелочные функции отдельно чтобы в onClick указывать только ссылку на функцию
источник

И

Иван in React — русскоговорящее сообщество
ORT
Ну в онклике то диспач норм?
Да
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
AluV Daniil
Вынеси стрелочные функции отдельно чтобы в onClick указывать только ссылку на функцию
Какая разница в этом случае?
источник

AD

AluV Daniil in React — русскоговорящее сообщество
Такая же как и в случае неиспользования useCallback, переинициализация на каждый рендер. Вообще установленный линтер будет подчеркивать это все дело по дефолту там вроде даже правила для этого прописывать не надо
источник

VK

Vladimir Klimov in React — русскоговорящее сообщество
AluV Daniil
Такая же как и в случае неиспользования useCallback, переинициализация на каждый рендер. Вообще установленный линтер будет подчеркивать это все дело по дефолту там вроде даже правила для этого прописывать не надо
Каждый рендер функции будут создаваться заново хоть вы их вынесите, хоть нет (если это функциональный компонент)
источник

I

IceBerg in React — русскоговорящее сообщество
AluV Daniil
Такая же как и в случае неиспользования useCallback, переинициализация на каждый рендер. Вообще установленный линтер будет подчеркивать это все дело по дефолту там вроде даже правила для этого прописывать не надо
Так это нормально, учитывая, что ему нужно актуальное значение sortPrice
источник

И

Иван in React — русскоговорящее сообщество
AluV Daniil
Такая же как и в случае неиспользования useCallback, переинициализация на каждый рендер. Вообще установленный линтер будет подчеркивать это все дело по дефолту там вроде даже правила для этого прописывать не надо
Они будут объявляться на каждом рендере в любом случае — в его варианте и в твоём варианте — асбсолютно эквивалентно
источник

I

IceBerg in React — русскоговорящее сообщество
Или на крайняк useCallback плюс эти зависимости
источник

AD

AluV Daniil in React — русскоговорящее сообщество
источник

AD

AluV Daniil in React — русскоговорящее сообщество
6. Do Not Use Inline Function Definition
источник

СМ

Стас М in React — русскоговорящее сообщество
Подскажите пжл, в React-Redux я использую хуки.
useSelector получаю нужную часть state и пишу её на экране
Диспатчу изменения в нужную мне часть state.

Почему не происходит перерисовки  экрана после изменения state?
Я использую shallowEqual, новое значение нужной части state в компоненте получаю.
Почему нет перерисовки?

Её принудительно надо перерисовывать? Тогда как это сделать? Через subscribe?
Я что-то пропустил в документации?..
источник

I

IceBerg in React — русскоговорящее сообщество
AluV Daniil
6. Do Not Use Inline Function Definition
Ожидаемо там пример с классами
источник

И

Иван in React — русскоговорящее сообщество
Это ж про классы. Понимаешь же разницу?
источник

И

Иван in React — русскоговорящее сообщество
Стас М
Подскажите пжл, в React-Redux я использую хуки.
useSelector получаю нужную часть state и пишу её на экране
Диспатчу изменения в нужную мне часть state.

Почему не происходит перерисовки  экрана после изменения state?
Я использую shallowEqual, новое значение нужной части state в компоненте получаю.
Почему нет перерисовки?

Её принудительно надо перерисовывать? Тогда как это сделать? Через subscribe?
Я что-то пропустил в документации?..
Что-то в коде не так. Ставлю сотку, что мутируешь
источник

СМ

Стас М in React — русскоговорящее сообщество
Иван
Что-то в коде не так. Ставлю сотку, что мутируешь
код элементарный. учебный.
источник

СМ

Стас М in React — русскоговорящее сообщество
источник

И

Иван in React — русскоговорящее сообщество
А дальше?
источник