Size: a a a

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

2021 January 17

V

Vlad in React — русскоговорящее сообщество
Иван
в плане производительности — нет. в плане удобства — является
Говорят, что Реакт сравнивать примитивы умеет, а объекты нет, и поэтому изменения будут вызывать каждый раз рендер, что не есть хорошо
источник

И

Иван in React — русскоговорящее сообщество
Vlad
Говорят, что Реакт сравнивать примитивы умеет, а объекты нет, и поэтому изменения будут вызывать каждый раз рендер, что не есть хорошо
реакт ничего сравнивать не умеет, интерпретатор js сравнивает
источник

RS

Roman Still in React — русскоговорящее сообщество
Vlad
Говорят, что Реакт сравнивать примитивы умеет, а объекты нет, и поэтому изменения будут вызывать каждый раз рендер, что не есть хорошо
если ты поменяешь стейт, рендер вызовется независимо от того примитив это или объект
источник

S

Sm•ok 😈✔️ in React — русскоговорящее сообщество
Vlad
Говорят, что Реакт сравнивать примитивы умеет, а объекты нет, и поэтому изменения будут вызывать каждый раз рендер, что не есть хорошо
Так по ссылке сравнение идёт же
источник

S

Sm•ok 😈✔️ in React — русскоговорящее сообщество
А не глубокое
источник

S

Sm•ok 😈✔️ in React — русскоговорящее сообщество
Не меняешь ссылку - все ок
источник

S

Sm•ok 😈✔️ in React — русскоговорящее сообщество
Roman Still
если ты поменяешь стейт, рендер вызовется независимо от того примитив это или объект
Там примитив если не изменился, разве что. Но такой себе кейс
источник

V

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

RS

Roman Still in React — русскоговорящее сообщество
Sm•ok 😈✔️
Не меняешь ссылку - все ок
а как в setState ссылку сохранить?
источник

S

Sm•ok 😈✔️ in React — русскоговорящее сообщество
Roman Still
а как в setState ссылку сохранить?
Никак адекватно
источник

S

Sm•ok 😈✔️ in React — русскоговорящее сообщество
А зачем
источник

RS

Roman Still in React — русскоговорящее сообщество
Sm•ok 😈✔️
А зачем
Ну ты говоришь об этом, сам себе противоречишь
источник

S

Sm•ok 😈✔️ in React — русскоговорящее сообщество
Roman Still
Ну ты говоришь об этом, сам себе противоречишь
Ты не догоняешь просто
источник

S

Sm•ok 😈✔️ in React — русскоговорящее сообщество
А не идёт противоречие
источник

RS

Roman Still in React — русскоговорящее сообщество
ок, сорян
источник

S

Sm•ok 😈✔️ in React — русскоговорящее сообщество
Объект указанный в качестве зависимостей у хука сравнивается по ссылке

Если ты вызвал сетстейт и передал старую ссылку, то хук не будет вызван

Но кейс не оч, потому что стейтят обычно измененный объект с копией старых ключей
источник

S

Sm•ok 😈✔️ in React — русскоговорящее сообщество
setData({...data, key: value}) ведь создаст новую ссылка, хук будет вызван, даже если key не изменил значение

С примитивами чутка иначе

Если ты поменяешь с true на true, то last === current даст положительный ответ и не будет вызван хук
источник

MZ

Maksim Zakharov in React — русскоговорящее сообщество
Всем привет.

Подскажите плз, имеет ли смысл на редюсеры переходить или перебор?
источник

MZ

Maksim Zakharov in React — русскоговорящее сообщество
ощущение что я с редусером переборщил
источник

MZ

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