Понимание работы loader и defer с await в React Router
Здравствуйте! Прошу помочь разобраться в логике совместной работы loader и defer с await в контексте React Router и взаимодействия с сервером.
Основной вопрос
Какова логика использования loader одновременно с defer и await?
Определения и кажущееся противоречие
- Loader - нацелен на получение данных до рендеринга компонента.
- Defer с await - позволяют начать рендеринг компонентов не дожидаясь полной загрузки данных.
Из определений складывается впечатление, что они противоречат друг другу:
- Loader: сначала данные, потом рендер.
- Defer и await: сначала рендер, потом данные.
По отдельности я понимаю, как они работают, но при совместном использовании возникает путаница. Схематическое объяснение было бы очень кстати.
Дополнительный вопрос
Возможно, это звучит глупо, но... Можно ли использовать useEffect вместе с defer/await? Имеет ли смысл применять defer без loader и наоборот, или же они дополняют друг друга?