Постоянно сохраняются файлы cookie, зависящие от реакции

Я новичок в использовании response-native, а также fetch api в javascript. Я аутентифицирую свое приложение с помощью бэкэнд и после нескольких обновлений в моем симуляторе ios, приложение проверяет, проверено ли оно с помощью бэкэнда при начальной загрузке и, к моему удивлению, это! Это ставит вопрос о том, где и что сохраняется внутри реагирующего нативного и fetch api?

Спасибо!

Ответ 1

fetch on React Native реализован поверх API-интерфейсов на собственном уровне и немного отличается от whatwg specification и хорошо известного github polyfill. Это означает, что когда выполняется фактический запрос HTTP, он создается на основе сетевого сетевого стека на iOS или OkHttp3 на Android, и в каждом случае он базовый код ObjC или Java, который обрабатывает и сохраняет файлы cookie вдали от вашего JS-кода.

До этот коммит в ноябре 2015 года файлы cookie не были должным образом сохранены на Android вообще, но с RN 0.16 они поддерживались обе платформы независимо от параметра credential в ваших вызовах fetch. В результате куки файлы сеанса и т.п. Работают из коробки, что может быть смущающим, если вы не ожидаете, что что-то останется. Если вам нужно манипулировать файлами cookie с вашего JS, посмотрите react-native-cookies, который взаимодействует с основными хранилищами файлов cookie.

Ответ 2

У меня возникла та же проблема, и в конце концов мне пришлось использовать AsyncStorage для сохранения токена и cookie, а также использовать реагирующие нативные cookie для очистки всех cookie. например: CookieManager.cearAll()