首页 > 解决方案 > 不变违规:RCTFBLoginButton 的本机组件不存在此错误位于:在 RCTFBLoginButton

问题描述

我正在反应本机应用程序中实现 fb sdk。我已经完成了链接的所有更改,并在 android 设备中运行。

不变违规:RCTFBLoginButton 的本机组件不存在此错误位于:在 RCTFBLoginButton

我搜索了很多,但没有一个帮助我摆脱这个问题。参考这个这个

我认为 android facebook sdk verison 和 react facebook sdk 版本不匹配,但不知道如何解决。

我被困了几个小时:/

import React from 'react';
import { StyleSheet, Alert, View } from 'react-native';

const FBSDK = require('react-native-fbsdk');
const {
  LoginButton,
  AccessToken
} = FBSDK;

export default class Login extends React.Component {
    render() {
        return (
            <View>
              <LoginButton
                publishPermissions={["publish_actions"]}
                onLoginFinished={
                  (error, result) => {
                    if (error) {
                      alert("login has error: " + result.error);
                    } else if (result.isCancelled) {
                      alert("login is cancelled.");
                    } else {
                      AccessToken.getCurrentAccessToken().then(
                        (data) => {
                          alert(data.accessToken.toString())
                        }
                      )
                    }
                  }
                }
                onLogoutFinished={() => alert("logout.")}/>
            </View>
          );
    }
}

标签: androidfacebookreact-nativereact-native-androidreact-native-fbsdk

解决方案


改变

implementation 'com.facebook.android:facebook-android-sdk:4.33.0' 

api 'com.facebook.android:facebook-android-sdk:4.33.0'

在 build.gradle(模块:react-native-fbsdk)


推荐阅读