Powiedzmy, że mam jakiś stan, który jest zależny od innego stanu (np. Kiedy A się zmienia, chcę zmienić B).
Czy właściwe jest utworzenie haka, który obserwuje A i ustawia B wewnątrz haka useEffect?
Czy efekty będą kaskadowe w taki sposób, że po kliknięciu przycisku pierwszy efekt zostanie uruchomiony, powodując zmianę b, powodując uruchomienie drugiego efektu przed kolejnym renderowaniem? Czy są jakieś wady wydajności w tworzeniu takiej struktury kodu?
let MyComponent = props => {
let [a, setA] = useState(1)
let [b, setB] = useState(2)
useEffect(
() => {
if (/*some stuff is true*/) {
setB(3)
}
},
[a],
)
useEffect(
() => {
// do some stuff
},
[b],
)
return (
<button
onClick={() => {
setA(5)
}}
>
click me
</button>
)
}