java - 错误: Undefined is not an object (evaluating 'NativeGraphRequestManager.start' ) - react-native-fbsdk (Android)

标签 java android react-native undefined

有谁知道怎么解决吗?请帮助! Console error:

Events.js//当我按下时出现错误。我认为我的问题就在这里。

  import React, { Component } from 'react';
  import { Image, StyleSheet, View, TouchableOpacity, Text } from 'react-native';
  const FBSDK = require('react-native-fbsdk');
  const {
    GraphRequest,
    GraphRequestManager,
  } = FBSDK;

  class Eventos extends Component {

    getInfo() {
      const infoRequest = new GraphRequest(
        '/me',
        null,
        this.responseInfoCallback,
      );

      new GraphRequestManager().addRequest(infoRequest).start();
    }

    responseInfoCallback(error, result) {
      if (error) {
        alert('Error fetching data: ' + error.toString());
      } else {
        alert('Success fetching data: ' + result.toString());
      }
    }

    render() {
      return (
        <View>
          <TouchableOpacity
            onPress={() => this.getInfo()}
          >
            <Text>GetInfo</Text>
          </TouchableOpacity>
        </View>

     );
   }
  }

  export default Eventos;

MainActivity.java

  public class MainActivity extends ReactActivity {

      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
          super.onActivityResult(requestCode, resultCode, data);
          MainApplication.getCallbackManager().onActivityResult(requestCode, resultCode, data);
      }

      @Override
      protected String getMainComponentName() {
          return "reactnavigationdrawer";
      }
  }

MainApplication.java//我认为还可以。

  public class MainApplication extends Application implements ReactApplication {

    private static CallbackManager mCallbackManager = CallbackManager.Factory.create();

    protected static CallbackManager getCallbackManager() {
      return mCallbackManager;
    }

    private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) {
      @Override
      public boolean getUseDeveloperSupport() {
        return BuildConfig.DEBUG;
      }

      @Override
       protected List<ReactPackage> getPackages() {
         return Arrays.<ReactPackage>asList(
            new MainReactPackage(),
            new VectorIconsPackage(),
            new FBSDKPackage(mCallbackManager)
        );
      }
    };

    @Override
    public ReactNativeHost getReactNativeHost() {
      return mReactNativeHost;
    }

    @Override
    public void onCreate() {
      super.onCreate();
      AppEventsLogger.activateApp(this);
      SoLoader.init(this, /* native exopackage */ false);
    }
  }

package.json//我可能使用已弃用的库吗?

        {
            "name": "BealegendApp",
            "version": "0.0.1",
            "private": true,
            "scripts": {
                "start": "node node_modules/react-native/local-cli/cli.js start",
                "test": "jest"
            },
            "dependencies": {
                "firebase": "^4.8.2",
                "lodash": "^4.17.4",
                "react": "16.0.0-alpha.12",
                "react-native": "^0.46.4",
                "react-native-fbsdk": "^0.7.0",
                "react-native-responsive-image": "^2.2.0",
                "react-native-side-menu": "^1.1.3",
                "react-native-textinput-effects": "^0.4.2",
                "react-native-vector-icons": "^4.5.0",
                "react-navigation": "^1.0.0-beta.11",
                "react-redux": "^5.0.6",
                "redux": "^3.7.2",
                "redux-thunk": "^2.2.0"
            },
            "devDependencies": {
                "babel-jest": "20.0.3",
                "babel-preset-react-native": "2.1.0",
                "eslint-config-rallycoding": "^3.2.0",
                "jest": "20.0.4",
                "react-native-vector-icons": "^4.5.0",
                "react-test-renderer": "16.0.0-alpha.12"
            },
            "jest": {
                "preset": "react-native"
            }
        }

这是一个必须向 facebook graph api 发出请求的应用程序。当我 onPress 出现错误:“未定义不是对象(评估'NativeGraphRequestManager.start')”我不知道为什么。请帮忙!!

如果您需要更多代码或详细信息,请告诉我!谢谢!

最佳答案

错误:使用 Graph 之前需要有 accessToken。在示例中,未定义 accessToken。

要获取它,您必须使用 facebook 登录(LoginButton 组件)。之后,您可以通过 props 发送此 token 并在您想要的地方发出请求。

它适用于您可以在链接(在答案中)中找到的配置:

Configuration

关于java - 错误: Undefined is not an object (evaluating 'NativeGraphRequestManager.start' ) - react-native-fbsdk (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48413336/

相关文章:

java - 创建一个查找并匹配用户输入的网页爬虫

java - 如何从服务器创建视频 URL 的缩略图

android - 调用 Workligh 适配器总是返回 Failure Android

android - 我可以使用相同的 React Native 代码与 iOS 和 Android 中的 WebView 交互吗?

javascript - 需要未知模块 "699"

android - React-native run-android 总是下载一切

java - TODO 警告的 Sonar 类别

java - ModelMapper:如何映射到已知具体类型的通用实例列表

java - 在 Java 中将对象转换为数组

android - 如何在 LibGdx 中为软键盘显示关闭按钮 "x"