我尝试使用react-native-fbsdk来获取用户的访问令牌。在调用logInWithReadPermissions方法时,我不断收到一条错误,指出" undefined不是一个对象(评估' LoginManager.logInWithReadPermissions')"
我安装了npm依赖项并导入它:
import { LoginManager, AccessToken } from 'react-native-fbsdk'
类方法loginWithFacebook如下所示:
logInWithFacebook = () => {
LoginManager.logInWithReadPermissions([ 'public_profile', 'user_friends' ]).then(
(result) => {
if(result.isCanceled) {
alert('Login cancelled')
} else {
AccessToken.getCurrentAccessToken().then(({ accessToken }) => {
console.log('Access Token : ', accessToken)
})
}
},
(error) => {
console.error('error : ', error)
}
)
}
我已经尝试清除缓存,将项目移动到我的Documents目录,重新安装所有npm软件包......但仍然,我一直收到此错误。 Click here to see the Expo debugging screen.
任何建议都将不胜感激。谢谢!
答案 0 :(得分:2)
您不能通过与标准Expo项目的react-native链接使用需要本机代码配置的库。要使用所述库,您需要分离并使用ExpoKit。以下是有关ExpoKit的文档:https://docs.expo.io/versions/latest/guides/detach.html
话虽如此,我们确实有一个Facebook API,它可以满足您在Expo SDK中内置的需求。 https://docs.expo.io/versions/latest/sdk/facebook.html
答案 1 :(得分:0)
此外,<div class="circle"></div>
是旧版本的react-native-fbsdk版本0.8.0中的一种方法。
现在您应该使用logInWithReadPermissions
,因为您的版本是react-native-fbsdk 0.10.0。