react native 默認會自動持久化并攜帶 cookie, android 和 ios 都是一樣的,android 中會保存到 app_webview/Cookies 文件中, ios 我估計也是這樣的
cookie.png
進程殺死、應用重啟都不影響 cookie 的攜帶,因為持久化到了文件中。
但是沒有發現刪除方法,我們的 app 是以 cookie 來表示登錄用戶的,怎么刪除呢?當然直接移除 Cookies 文件就行了,參考一下 RN android (底層是 okhttp)和 ios 處理 cookie 的源碼看看是怎么存的然后寫一個 Native Module 增加刪除方法就行了。不過有個哥們已經寫了一個了 https://github.com/joeferraro/react-native-cookies 可以直接用。
移除 cookie
import CookieManager from "react-native-cookies";
CookieManager.clearAll((err, res) => {
console.log('cookies cleared!');
console.log(err);
console.log(res);
});