Как работает SPA при открытии дополнительных вкладок в браузере?

Допустим, речь идет об e-commerce - я на таких сайтах часто открываю кучу вкладок.
ReactJs + flux

Если сайт - Single Page Application, то очевидно, это SPA будет грузиться на каждой вкладке отдельно. И, вероятно это будет потреблять значительно больше памяти, чем аналогичный сайт не SPA.
1. Верно?
Но это не главное. Меня больше волнует, что происходит с переменными, которые образуются в процессе работы SPA.
Конкретно: пользователь осуществляет поиск по характеристикам товаров в каталоге. Получает определенную поисковую выдачу. Эта выдача висит как json array в SPA. При переходе на страницу товара, SPA берет дополнительную уже полученную инфу из этого array, чтобы не обращаться лишний раз к бд и молниеносно срендерить страницу. Оттуда же берет товары, которые будут выведены как "похожие предложения".

2. Так вот, если товар открыть в новой вкладке, эта система ведь не сработает? Как тогда передать этот array?
  • Вопрос задан
  • 1051 просмотр
Решения вопроса 1
SPA = Single page app. Другими словами - всё происходит на одной странице. Если вы открываете соседнюю вкладку, то да - нужно грузить все заново. Но по сути само приложение уже в кэше браузера и загрузить нужно только контент, который также может быть закеширован к этому моменту.

Посмотрите в сторону изоморфных приложений, когда реакт рендерится как на сервере, так и на клиненте. Причем на клиент уже приходит HTML с данными.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@roman01la
Новая вкладка — это изолированный контекст. Только по сети. Или использовать Service Worker, но поддержка есть только в Chrome и Opera.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы