Я использую React, React-Router и Redux в своем приложении.Моя проблема заключается в том, что, когда мой маршрут вызывает перенаправление с моей целевой страницы для единого входа в домашний компонент после проверки подлинности, компонент визуализируется до загрузки ресурсов (с корневой HTML-страницы).После обновления страницы ресурсы загружаются и CSS отображается правильно.Я в замешательстве, потому что с реагировать это SPA, и я бы подумал, что активы будут загружены с рендеринга целевой страницы.
Я попробовал следующее:
- Добавление setTimeout до запуска вызова API для аутентификации на моей целевой странице с единым выходом
- Попытка загрузкииндикатор рендерится до полного монтирования компонента (используя состояние компонента для контроля того, какой контент просматривается.
- Я также попытался добавить setTimeout при переключении представлений в домашнем компоненте, чтобы замедлить переключение с загрузкипросмотр основного содержимого.
Маршрутизация и аутентификация работают правильно. Только после загрузки компонента ресурсы из html загружаются.
Я следую той же логикенажатия на домашнюю страницу через два других моих вызова API аутентификации, которые инициируются через мои страницы входа в систему.Этот вызов API единого выхода вызывает тот же метод, что и два других, который заканчивается
history.push('/home')
Для объясненияпроцесс: после завершения аутентификации создатель действия подталкивает кдомашняя страница, которая монтирует компонент.Содержимое компонента монтируется нормально, но рендерится до загрузки активов, что является неприятной проблемой.Я не уверен, почему это происходит только с одним знаком перенаправления, а не с двумя другими процессами проверки.
Опять же, я попытался добавить условный рендеринг, чтобы показать загружаемое изображение, пока компонент не смонтируется и состояние не будет обновлено, но это не работает, так как я считаю, что он не учитывает активы в html.
Поэтому мой вопрос заключается в том, есть ли лучший способ для меня условно визуализировать индикатор загрузки, пока я не смогу убедиться, что активы загружены в html.
ОБНОВЛЕНИЕ: Я вошел в инструменты разработчика Chrome и убедился, что теги скрипта загружены.Так что в основном он не обрабатывает CSS до обновления ...