如何检查用户是否已登录?

Ana*_*via 3 react-native react-native-fbsdk

我是react-nativeFacebook和新手sdk

所以我按照这里给出的教程,一切正常,用户可以使用Facebook登录.

我的问题是:

下次打开应用程序时,如何检查用户是否已登录?

onLoginFinished无论用户是否已经登录,我都认为每次都会调用回调.但事实并非如此.如果用户已登录,则onLoginFinished未调用.是否有任何特定的回调来检查?或任何其他方法或一些解决方法?

我试着阅读react-native-fbsdk 这里的文档,但似乎还不够.

这是Login按钮:

<LoginButton
    onLoginFinished={ (error, result) => { this.handleLogIn(error, result) } }
    onLogoutFinished={() => { this.handleLogOut() } } 
/>
Run Code Online (Sandbox Code Playgroud)

辅助函数:

handleLogIn(error, result) {
    if (error) {
        alert("Login failed with error: " + result.error);
    } else if (result.isCancelled) {
        alert("Login was cancelled");
    } else {
        alert("Login was successful")
        AccessToken.getCurrentAccessToken().then(
            (data) => {console.log(data);} //Refresh it every time
        );
    }
}

handleLogOut() {
    console.log("User logged out");
    alert("Log out successful");
}
Run Code Online (Sandbox Code Playgroud)

age*_*unt 11

您需要在应用程序启动时检查currentAccessToken是否在适当的某个时间点有效.如果它返回null,则需要刷新令牌,如果刷新令牌已过期,则将用户重定向到loginpage.

AccessToken.getCurrentAccessToken().then(
            (data) => {console.log(data);} //Refresh it every time
        );
Run Code Online (Sandbox Code Playgroud)