Классическая ошибка фронтендщиков
Классическая ошибка фронтендщиков с моей т.з. – злоупотребление кэшированием в SPA приложениях.
Как говорили классики, в программировании есть 2 сложности: именование сущностей и инвалидация кэша.
Особенность кэширования в SPA состоит в том, что простые решения не работают, а сложные... занимают много килобайт. Так много, что самая важная, первая загрузка страницы становится существенно медленнее.
От чего те самые пользователи, которых вы хотели поразить быстродействием свого навороченного решения с кэшем, закрывают вкладку.
На форумах я вижу как тысячи разработчиков расшибают головы, пытаясь совладать с ApolloClient или Relay, т.к. загружать данные без кэша "несерьёзно". Тратятся месяцы рабочего времени, а итоговое решение представляет... несуразный, громоздкий и медлительный код.
При отказе от кэширования, неслабым бонусом идёт автосинхронизация с сервером "из коробки".
Совет №1: избегайте кэширования запросов-ответов в SPA.
Совет №2: избегайте ApolloClient, работая с GraphQL
Совет №3: не бойтесь простых решений.
Помните что:
Джуны боятся сложности. Миддлы – простоты. Сениоры – провала проекта.