Кэширование пользователя после аутентификации с помощью apollo - PullRequest
0 голосов
/ 12 июня 2018

Я довольно новичок в реакции-аполлоне, однако не знал, как решить эту проблему.Я аутентифицирую пользователя с помощью мутации, но хотел бы получить доступ к тому же пользовательскому объекту, который снова возвращается в других компонентах (активная панель навигации, параметры кнопки рендеринга или кнопка профиля после входа в систему).Должен ли я просто получать текущий зарегистрированный пользователь каждый раз, когда мне это нужно?Т.е.

query GetUser {
 id
 name
 role {
  name 
 }
 dob
}

Добавить это в конце каждого компонента, который в этом нуждается?Я не уверен, что лучшим способом может быть просто кэшировать его после однократного входа в систему по сравнению с этим. Даже тогда, как вы конкретно кешируете это?Я знаю, что он наследуется, он также кеширует его, так что это не значит, что у меня есть избыточность при извлечении, как я мог бы в коде.Какие подходы вы использовали?

1 Ответ

0 голосов
/ 12 июня 2018

в реагирующих приложениях для сохранения пользовательских данных для аутентификации вы должны сохранить пользовательские данные в хранилище, например локальное хранилище и сохранить в глобальном состоянии вашего приложения, например redux и mobx для доступа со всего приложения.

я рекомендую вам использовать redux .

примечание:

каждый раз, когда вы запускаете приложение, вы должны снова сохранять данные из хранилища в глобальное состояние.

также вы можете использовать apollo-cache-persist но я непопробовал это!

...