Alodnog Alodnog 12.04.2021, 17:43:11 0 + #webdev #react #programowanieconst res = useMemo(() => heavyFunction(), []);vsconst [res] = useState(() => heavyFunction());Jaka jest między nimi różnica? Oprócz tego, że useMemo może przyjąć dependency array.
nightman nightman 12.04.2021, 17:44:59 0 + @Alodnog: drugie przerenderuje się zawsze przy przerenderowaniu komponentu (może być mega często)
Alodnog Alodnog 12.04.2021, 17:48:06 1 + @nightman: Przerenderowałoby się gdybym zrobił coś takiego: useState(heavyFunction());. Ale jeśli wrzucam to w funkcję: useState(() => heavyFunction()); to się nie przelicza przy rerenderze
doee doee 12.04.2021, 18:19:32 1 + @Alodnog: useMemo - re-render wywołuje zmiana w dependency array, useState - re-redner wywołuje wywołanie setState, różnicy w działaniu nie ma
Marmite Marmite 12.04.2021, 18:49:31 via Wykop Mobilny (Android) 1 + @Alodnog: w tym wypadku chyba żadna, ale ogólnie różnica jest taka ze służą z grubsza do czego innego xD
krzykrzy1995 krzykrzy1995 14.04.2021, 15:41:21 0 + @Alodnog: jesli nie zmieniasz res z poziomu komponentu, to useMemo.Oba sluza do innych rzeczy.Z poziomu uzytkownika, niczym sie to nie rozni
const res = useMemo(() => heavyFunction(), []);vs
const [res] = useState(() => heavyFunction());Jaka jest między nimi różnica? Oprócz tego, że useMemo może przyjąć dependency array.
useState(heavyFunction());. Ale jeśli wrzucam to w funkcję: useState(() => heavyFunction());to się nie przelicza przy rerenderzeuseMemo- re-render wywołuje zmiana w dependency array,useState- re-redner wywołuje wywołaniesetState, różnicy w działaniu nie maOba sluza do innych rzeczy.
Z poziomu uzytkownika, niczym sie to nie rozni