在React Native中共享对话框FBSDK得到了未定义的结果。解除了& result.postId

时间:2017-05-31 04:59:29

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

我尝试使用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);
    }
  );
}




但我总是得到这样的结果: enter image description here

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

1 个答案:

答案 0 :(得分:0)

这可能是一个错误。我超过6个月就得到了这个问题。根据我的记忆,如果您从iOS Facebook应用程序中分享了 if (!result.isCancelled /*&& undefined !== result.postId*/) { __DEV__ && console.log("SUCCESS"); } else { __DEV__ && console.log("FAILURE"); } ,则lapply不可用。它适用于:

  1. 你没有iOS Facebook应用程序(分享是通过iOS上的应用程序内浏览器完成的),
  2. 您是从Android(Facebook应用程序与否)执行分享
  3. 我的解决方法是删除countFun <- function(relData){ plots <- unique(relData$plot) plot.num <- length(plots) output <- matrix(NA, plot.num, plot.num) if (plot.num > 1){ for (i in 2:plot.num) { for (j in 1:(i-1)) { plot_i <- relData[relData$plot==plots[i],] plot_j <- relData[relData$plot==plots[j],] output[i,j] <- length(intersect(plot_i$species, plot_j$species)) } } } output } lapply(unique(data$region), function(region) countFun(data[data$region == region,])) # [[1]] # [,1] [,2] [,3] [,4] # [1,] NA NA NA NA # [2,] 0 NA NA NA # [3,] 1 0 NA NA # [4,] 0 0 0 NA # # [[2]] # [,1] [,2] [,3] # [1,] NA NA NA # [2,] 2 NA NA # [3,] 1 1 NA 支票:

    {
      "hosting": {
        "public": "./"
      }
    }