Aktywne Wpisy
belfegorrrr +868
#sasiedzi nie wiedziałem, że powoduje wzajemną dezorganizację parkując na ogólnodostępnym miejscu na parkingu wspólnoty xd
gymw8nhnzd +139
Izuniu (@izadamczyk #izadamczyk #izaadamczyk Iza Adamczyk) to jeszcze raz ale powoli:
Nie chcesz pracować na etacie, tylko we własnym "biznesie" ale jednak dostajesz od firmy tygodniówki i cieszysz się ze dostałaś ja dzień wcześniej? Nie chce być tym, który przekazuje złe informacje ale cos mi to przypomina obrzydliwe zatrudnienie...
Oczywiście ocenzurowana 3 cyfrowa kwota najprawdopodniej z 1 na początku ( ͡° ͜ʖ
Nie chcesz pracować na etacie, tylko we własnym "biznesie" ale jednak dostajesz od firmy tygodniówki i cieszysz się ze dostałaś ja dzień wcześniej? Nie chce być tym, który przekazuje złe informacje ale cos mi to przypomina obrzydliwe zatrudnienie...
Oczywiście ocenzurowana 3 cyfrowa kwota najprawdopodniej z 1 na początku ( ͡° ͜ʖ
podsyłam link do artykułu, który ostatnio nasmarowałem. Może komuś się przyda, feedback mile widziany.
https://greenonsoftware.com/articles/react/build-use-form-hook-in-react/
#react #webdev #programowanie #typescript #frontend
ref.current = X;
setCounter(counter+1);
Jak można zrobić poprostu
setX(X)
i będzie rerender i zmiana wartości, totalnie ten useRef zbędnyTo podejscie jest wykorzystywane w wielu bibliotekach, np react-redux do obslugi zmian w storze, za pomoca subscribe, zeby uniknac re-renderow.
Dodatkowo to podejscie
https://stackoverflow.com/questions/50837670/reactjs-setstate-previous-state-is-the-first-argument-props-as-the-second-argum#:~:text=If%20you%20are%20going%20to,state%2C%20like%20the%20example%20below.
@workwork: ale ty ich nie unikasz bo robisz zmianę countera odrazu po zmianie w refie
@workwork: a jaki tu jest problem ? jak wywołujesz to w event handlerze to zawsze można callback przekazać zamiast poprostu wartości
Dlatego sa w useRef zeby byly zawsze "aktualne", a re-render bedzie odbywal sie po zmianie innej wartosci niz duzego obiektu...
Dodatkowo jezeli zmienie typ prosty -> jak liczbe latwiej mi jest porownac w useMemo czy zmienil sie duzy obiekt czy tylko wartosc liczby...
@workwork: nie będą bo w następnym renderze masz aktualne wartości i w callbacku przekazanym do setX też będziesz mieć w parametrze aktualną wartość, ot poprostu setState jest asynchroniczny i trzeba o tym wiedzieć a nie hackować to bo mimo że jest asynchroniczny to masz gwarancję że po renderze wartość będzie aktualna (poza event handlerem bo tam
1. Tak useState - ma callback, ktory pozwala Ci dostać sie do "zawsze aktualnej wartosci"
2. Jezeli jest jakas inna funkcja, ktora chce korzystac z tych wartosci i miec je aktualne -> ja to zrobisz? Uzyjesz setCounter z callbackiem? Teraz git?
useState
function Test() {
const [x, setX] = useState(1);
console.log('x', x) // <-- tutaj zawsze x ma aktualną wartość
}
nie wiem gdzie jakas inna funkcja miała by tego użyć? jak chcesz wywołać np walidację na state to zawsze możesz zrobić
setX(validate(x))
a jak jesteś w event handlerze tosetX(x => validate(x))
https://stackoverflow.com/questions/54867616/console-log-the-state-after-using-usestate-doesnt-return-the-current-value
useEffect
albo poprostu w funkcji komponentu używając wartości zwróconej zuseState
. Ty chyba nie do końca rozumiesz o czym mówisz, znalazłeś jakiś wzorzec wrzuciłeś go na siłę i próbujesz go bronić słabymi przykładami bo nie ogarniasz asynchronicznościref.current = X;
setCounter(counter+1);
Nie widze tam w kodzie zadnej operacji po tym więc czemu ciągle powtarzasz