react native 默认会自动持久化并携带 cookie, android 和 ios 都是一样的,android 中会保存到 app_webview/Cookies 文件中, ios 我估计也是这样的
进程杀死、应用重启都不影响 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);
});