【问题标题】:Share Dialog in React Native FBSDK got undefined result.isCancelled & result.postIdReact Native FBSDK 中的共享对话框得到未定义的 result.isCancelled & result.postId
【发布时间】:2017-05-31 04:59:29
【问题描述】:

我尝试使用 FBSDK 分享到 Facebook 的链接! 我按照https://github.com/facebook/react-native-fbsdk 的步骤进行操作 这是我的分享代码:

shareLinkWithShareDialog() {
  var tmp = this;
  ShareDialog.canShow(this.state.shareLinkContent).then(
    function(canShow) {
      if (canShow) {
        return ShareDialog.show(tmp.state.shareLinkContent);
      }
    }
  ).then(
    function(result) {
      if (result.isCancelled) {
        alert('Share cancelled');
      } else {
        alert('Share success with postId: '
          + result.postId);
      }
    },
    function(error) {
      alert('Share fail with error: ' + error);
    }
  );
}

但我总是得到这样的结果:

然后 isCancelled 总是未定义! postId 仍然未定义! 谁能告诉我为什么?我使用 react native 0.42 和 fbsdk 0.5.0

【问题讨论】:

  • 你为什么需要知道?
  • 如果不知道那个结果对象!结果总是成功!我无法取消帖子或发布成功
  • 为什么你需要抓住它?
  • 这是在我的应用中再做一项功能的条件
  • 那“多一个功能”是什么?

标签: javascript facebook react-native react-native-ios


【解决方案1】:

这可能是一个错误。自从6个多月以来,我就遇到了这个问题。据我记得,如果您从 iOS Facebook 应用程序进行分享,result.postId 将不可用。如果满足以下条件,它可以正常工作:

  1. 您没有 iOS Facebook 应用(分享是通过 iOS 上的应用内浏览器完成的),
  2. 您从 Android(无论是否为 Facebook 应用)执行分享

我的解决方法是删除result.postId 检查:

 if (!result.isCancelled /*&& undefined !== result.postId*/) {
     __DEV__ && console.log("SUCCESS");
 } else {
     __DEV__ && console.log("FAILURE");
 }

【讨论】:

  • 这对我不起作用,兄弟!我尝试在没有应用 Facebook 的情况下分享!并且 result.isCancelled 总是未定义的!取消帖子或帖子成功总是返回未定义的isCancelled!你还能建议我吗?
  • 恐怕我帮不了你:(
猜你喜欢
  • 1970-01-01
  • 2016-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-05
  • 1970-01-01
相关资源
最近更新 更多