您好我正在尝试测试本地facebook sdk以进行facebook登录。使用下面的代码,我能够成功提供我的凭据并登录到应用程序。我的问题是我没有收到警报消息或console.log输出。即使调试器语句似乎也不起作用。有人可以帮我弄清楚如何正确处理onLoginFinished事件。
<View>
<LoginButton
// publishPermissions={["none"]}
readPermissions = {["public_profile"]}
onLoginFinished={
(error, result) => {
debugger;
if (error) {
alert("login has error: " + result.error);
console.log("Error occured");
} else if (result.isCancelled) {
alert("login is cancelled.");
console.log("Login canceled");
} else {
// I don't see this alert or console.log anywhere
alert("Login success");
console.log("Login Success");
} // end else
}
}
onLogoutFinished={() => { alert("User logged out");}}
/>
</View>
&#13;
答案 0 :(得分:1)
我发现,您需要始终使用命令react-native run-android
或react-native run-ios
重新构建应用程序,以使更改真正生效。
答案 1 :(得分:0)
我认为您的调试器有问题,但我使用此代码工作正常。你可以检查onLoginFinished方法是否被调用。
<LoginButton
publishPermissions={[“publish_actions”]}
onLoginFinished={
(error, result) => {
(error) {
alert(“Login failed with error: “ + result.error);
} else if (result.isCancelled) {
alert(“Login was cancelled”);
} else {
alert(“Login was successful with permissions: “
+ result.grantedPermissions)
}
}
}
onLogoutFinished={() => alert(“User logged out”)}
/>
答案 2 :(得分:0)
我在完成此操作后发现了我的问题。https://github.com/facebook/react-native-fbsdk在我的MainActivity类中,我在本地启动了CallbackManager实例。在引用MainApplication类的CallbackManager实例后,onLoginFinished函数被触发!! :)