В документах говорится, что мы должны вызывать только перехватчики на верхнем уровне наших компонентов.Из-за API useEffect return
уже зарезервировано для очистки, что заставило меня задуматься, как можно раньше выйти из ловушки useEffect во избежание глубокого вложения моих операторов if.
// instead of
React.useEffect(() => {
if (foo){
// do something
}
})
// I would rather write something like
React.useEffect(() => {
if (!foo){
// exit early and stop executing the rest of the useEffect hook
}
// do something
})
Как мне этого добиться?В моем первом примере все могло быстро запутаться в сложной условной логике, особенно если учесть, что я не могу использовать useEffect
внутри условного оператора.