Скажімо, у мене є якийсь стан, який залежить від якогось іншого стану (наприклад, коли A змінюється, я хочу, щоб B змінився).
Чи доречно створити гачок, який спостерігає за А та встановлює В всередині гачка useEffect?
Чи ефекти каскадуватимуться так, що коли я натисну кнопку, перший ефект спрацює, що призведе до зміни b, спричиняючи спрацювання другого ефекту, до наступного відтворення? Чи є якісь недоліки в структуруванні подібного коду?
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>
)
}