задам его в 100й раз)
===Apollo Client===
Застрял с манимпуляциями состояния (забил полностью на Редакс)…
И тут проблему с банальным логин/логаут.
Уже перепробовал разных идей, разной сложности, что самая первая топорная теперь не кажется ужасной, хотя она явно не годится.
Кто может поделится хорошей практикой?
Тут же вопрос про проверку авторизации в middleware. Я реализовал в onError link, но уверен что не то пальто. Тоже бы хотелось увидеть/услышать как правильно.
onError link вполне себе хорошее место для центральной проверки проблем аутентификации. Сам так делаю. И ловлю 401 код и если надо отправляю юзера на аутентификацию. Да-да, мы юзаем с графом 401 и 403 кода, это просто тупо удобно профилировать. По поводу стейт менеджера, все в аполло не суйте. Аполло это стейт менеджер серверных данных полученных через графкуэль. Под каждые задачи должен быть свой стейт менеджер, универсального не существует. Вы вполне можете продолжать использовать редакс, не под данные полученные с графкюэля. Мне редакс вообще никак, поэтому кастомные стейт менеджеры я стараюсь делать на самописных классах с EventEmitter (можете еще посмотреть рекоил, реатом, эффектор).
С эвентэмиттером очень интересно как ты контроллируешь состояние. Или таких задач нет?
Все зависит от того что вкладывается в понятие "контроллируешь состояние". В классе есть пропетри, это состояние. Методы, это экшены. События дают возможность подписываться на изменения.
В общем ты уже ответил не вопрос)
Спасибо. Продолжаю экспериментировать. Решил свою проблему тут в onError плюс реактивные переменные.
Обсуждают сегодня