React Native:删除Expo Cookies

时间:2019-05-30 15:05:14

标签: react-native cookies fetch expo credentials

我正在构建一个Expo / React Native应用程序,在该应用程序中,我使用提取和凭据(cookie)登录到服务器。

代码正常运行,如下所示:

login = async (email, password) => {
    try {    
        var body = JSON.stringify({ email, password });

        const response = await fetch('http://10.0.2.2/login', {
            method: 'POST',
            credentials: 'include',
            headers: {
              'Accept': 'application/json',
              'Content-Type': 'application/json'
            },
            body: JSON.stringify({
              username: username,
              password: password
            })
        });

        if(response.hasOwnProperty('accessToken'))
        {
          console.log('login successfull');
          console.log(response);
        }
        else if(response.hasOwnProperty('error'))
        {
          console.log('login failed');
          console.log(response)
        } 
    }
    catch(e) {
      console.log('error: ' + e);
    }
};

我的问题是,当我停止应用程序时,React Native不会注销。我不想通过API调用手动注销。

有没有类似React Web的方法,我只是从Chrome中删除了cookie,然后注销了?

2 个答案:

答案 0 :(得分:1)

您可以使用clearCookies中的RCTNetworking函数清除cookie:

const RCTNetworking = require('RCTNetworking');
RCTNetworking.clearCookies((result) => {
console.log(result) //true if successfully cleared
});

我可以确认它可以在Android和Expo上使用。对于iOS,我认为此https://github.com/facebook/react-native/pull/9264已解决。

答案 1 :(得分:0)

如果您正在使用expo,则可以尝试:

expo r -c

这将清除项目的缓存并运行expo