Juniorrrrr
@Juniorrrrr

Как корректно приостановить работу react роутинга в SPA?

Есть сайт, фронт написан на ReactJS. Для корректной работы СЕО используется SSR.
Алгоритм примерно такой :
1 загрузка страницы
  1. браузер открывает /foo;
  2. ССР проверяет есть ли в кеше /foo - не находит;
  3. ССР на сервере рендерит и исполняет реакт приложение по запросу /foo;
  4. ССР кладет в кеш ХТМЛ, который получился в результате рендера /foo;
  5. ССР отдает браузеру ХТМЛ, который получился в результате рендера /foo;
  6. браузер выполняет асинхронные запросы, которые есть ХТМЛ, который получился в результате рендера /foo (CSS, JS, favicon...);
  7. подгрузившееся приложение реакт "понимает что страничка уже отрисована и не надо выполнять роутинг и все такое";
  8. реакт обрабатывает дальнейшие действия пользователя (как и в обычном SPA).

Последующие обновления
  1. браузер открывает /foo;
  2. ССР проверяет есть ли в кеше /foo - находит;
  3. ССР отдает браузеру ХТМЛ, который получился в результате рендера /foo;
  4. браузер выполняет асинхронные запросы, которые есть ХТМЛ, который получился в результате рендера /foo (CSS, JS, favicon...);
  5. подгрузившееся приложение реакт "понимает что страничка уже отрисована и не надо выполнять роутинг и все такое";
  6. реакт обрабатывает дальнейшие действия пользователя (как и в обычном SPA).


Проблема заключается на фронте в том что при каждом обновлении страницы запускается роутинг и рисуется всё приложение заново и таким образом появляется "мерцание", то есть 7 пункт.

Вопрос: Можно ли как то остановить эту отрисовку в определенный момент? Сказать роуту , что именно сейчас отрисовывать не нужно. Может есть какое -то популярное решение ?
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы