Привет, спасибо за твой труд, очень классные видосы. Не мог бы ты с более подробными примерами дать статью или ссылку на источник, где объясняется почему в useState при инициализации каких либо пропсов, допустим даже каких-нибудь статичных конфигов из импортов на прямую в компонент, лучше использовать функцию useState(() => initVal), нежели просто useState(initVal). Под initVal как раз таки подразумеваю каких то ссылочные значения (массивы, объекты, функции и т д)
Привет. Если значение статичное - разницы нет, можно и сразу передавать его. Функция нужна для того, чтобы не создавать лишних объектов или не совершать не нужные вычисления, так как они нужны будут только при инициализации компонента. В других ситуациях - правильнее будет передать значение сразу.
А почему при инициализации useState не нужно сетать initialValue с сторедж? Я понимаю, что это сайд эффект, но если мы не вызовем функцию update, то в сторедж не запишется ничего. Или это так и задумывалось?
Пока ты не привык и плохо с ним знаком - несомненно. Но сейчас мне будет намного сложнее прийти на проект без TS и понять, что там происходит, нежели с ним. Так что усложняет чтение он тем, кто с ним пока не на «ты».
привет, спасибо за труд, видосы по собеседованиям достаточно полезные
остальные пока не видел, но позже гляну😅
Спасибо!
Спасибо большое.
Красавчик!
Спасибо.
Привет, спасибо за твой труд, очень классные видосы. Не мог бы ты с более подробными примерами дать статью или ссылку на источник, где объясняется почему в useState при инициализации каких либо пропсов, допустим даже каких-нибудь статичных конфигов из импортов на прямую в компонент, лучше использовать функцию useState(() => initVal), нежели просто useState(initVal).
Под initVal как раз таки подразумеваю каких то ссылочные значения (массивы, объекты, функции и т д)
Привет.
Если значение статичное - разницы нет, можно и сразу передавать его.
Функция нужна для того, чтобы не создавать лишних объектов или не совершать не нужные вычисления, так как они нужны будут только при инициализации компонента.
В других ситуациях - правильнее будет передать значение сразу.
А почему при инициализации useState не нужно сетать initialValue с сторедж? Я понимаю, что это сайд эффект, но если мы не вызовем функцию update, то в сторедж не запишется ничего. Или это так и задумывалось?
норм, забыл только учесть ssr
По идее обёртка, которую мы писали в предыдущем уроке будет нормально работать с ssr - метод get будет отдавать undefined.
Тайпскрипт, конечно интересная штука, но ппц как усложняет чтение, казалось бы простого кода...
без тайпскрипта не реал на проектах. спорное суждение что он усложняет чтение
Пока ты не привык и плохо с ним знаком - несомненно.
Но сейчас мне будет намного сложнее прийти на проект без TS и понять, что там происходит, нежели с ним.
Так что усложняет чтение он тем, кто с ним пока не на «ты».
можно обновить без useLatest()
const updateValue = useCallback(
(newValue: React.SetStateAction) => {
setValue((prevValue) => {
let updatedValue = isFunctyon(newValue)
? newValue(prevValue)
: newValue;
localStorage.setItem(key, JSON.stringify(updatedValue));
return updatedValue;
});
},
[key]
);