React Native Facebook logInWithReadPermissions无法正常工作

时间:2018-02-10 22:07:09

标签: facebook react-native login expo react-native-fbsdk

我尝试使用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.

任何建议都将不胜感激。谢谢!

2 个答案:

答案 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。