web-dev-qa-db-ja.com

反応ネイティブのfetch()Cookieが持続する

JavaScriptでreact-nativeとfetch apiを使用するのは初めてです。私はバックエンドでアプリを認証し、iOSシミュレーターで数回更新した後、アプリは、初期読み込み時にバックエンドで認証されているかどうかをチェックします。これは、react-nativeとfetch api内のどこに何が残っているかという疑問を投げかけます。

ありがとう!

16
Cory Robinson

fetch on ReactネイティブはネイティブレベルのAPIの上に実装されており、whatwgとは若干異なります仕様 とよく知られている github polyfill 。つまり、実際のHTTPリクエストが行われると、iOSのネイティブネットワークスタックまたは OkHttp がAndroidリクエストによって作成されます。 、そしていずれの場合も、JSコードとは別に、Cookieを処理および保存する基礎となるObjCまたはJavaコードです。

2015年11月の this commit まで、CookieはAndroidで完全に永続化されませんでしたが、RN 0.16以降、credentialに関係なく両方のプラットフォームでサポートされていますfetch呼び出しで設定します。その結果、セッションCookieなどはすぐに機能します。永続化するものを何も期待していない場合、これは当惑する可能性があります。JSからCookieを操作する必要がある場合は、 react-native-cookies を見てください。これは、基礎となるCookieストアと対話します。

23
Longsight

私は同じ問題を抱えていて、最後にAsyncStorageを使用してトークンとCookieを保存する必要があり、また、react-native-cookiesを使用してすべてのCookieをクリアする必要がありました。例:CookieManager.cearAll()

0
Manoj Alwis