Хорошо, я попытаюсь очистить ваше замешательство. Если у вас есть такие компоненты, как этот
<A>
<B />
</A>
, то при первой загрузке (перезагрузке) журнал будет
Child B useEffect
Parent A useEffect
Затем допустим, что вы перейдете к какому-нибудь маршруту и перейдете к журналу дочерних компонентов:
Дочерний B useEffect
Родительский useEffect не будет вызван.
Как говорит реагирующий документ
, вы можете думать об использовании Effect Hook как компонентDidMount, componentDidUpdate и componentWillUnmount вместе.
Так что все этиМетоды жизненного цикла вызываются после того, как компонент смонтирован, и когда компонент смонтирован, дочерние компоненты внутри этого компонента уже были смонтированы, а их жизненный цикл уже был вызван
Песочница , чтобы дать вам представление о том, какВызывается useEffect, у него есть Roster как родительский элемент и Schedule как дочерний элемент. если вы переходите к заголовку и возвращаетесь только к расписанию, вызывается только useEffect.
В вашем случае, возможно, родительский useEffect вызывается при переходе к дочернему компоненту, но это по какой-то другой причине, возможно, у вас есть обратный вызовкоторый устанавливает родительское состояние и, таким образом, вызывает его useEffect, но мы говорим о том, как работает useEffect в общем случае
Надеюсь, это поможет