null 不是对象(评估“ShareDialog.canShow”)

2023-12-19

我有这样的代码:

import React, { Component } from 'react';
import {AppRegistry, StyleSheet, Text, TouchableHighlight, View,} from 'react-native';
import {LoginButton, ShareDialog} from 'react-native-fbsdk';

class RNSample extends Component {
constructor(props) {
super(props);
const shareLinkContent = {
  contentType: 'link',
  contentUrl: 'https://www.facebook.com/',
  contentDescription: 'Facebook sharing is easy!'
};

this.state = {shareLinkContent: shareLinkContent,};
}

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);
  }
);
}

   render() {
return (
  <View style={styles.container}>
    <LoginButton
      onLoginFinished={
        (error, result) => {
          if (error) {
            alert("Login failed with error: " + error.message);
          } else if (result.isCancelled) {
            alert("Login was cancelled");
          } else {
            alert("Login was successful with permissions: " + result.grantedPermissions)
          }
        }
      }
      onLogoutFinished={() => alert("User logged out")}/>
    <TouchableHighlight onPress={this.shareLinkWithShareDialog.bind(this)}>
      <Text style={styles.shareText}>Share link with ShareDialog</Text>
    </TouchableHighlight>
  </View>
    );
 }
 }

const styles = StyleSheet.create({
  container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
 },
 shareText: {
fontSize: 20,
margin: 10,
},
});

AppRegistry.registerComponent('RNSample', () => RNSample);

但我收到这样的错误:'null is not an object (evaluating 'ShareDialog.canShow')

这是屏幕截图 https://i.stack.imgur.com/1q8qA.png

我正在使用本机反应。我不明白为什么会出现这个错误。 React Native 和我使用的 React 最新版本。我为我的应用程序进行了 Facebook SDK 设置。

我测试了不止一次,但仍然出错。顺便说一句,为什么 stackoverflow 会说“看起来您的帖子主要是代码;请添加更多详细信息。”很烦人!


您将其引用到 shareLinkWithShareDialog 函数中的局部变量,但对于 canShow,您使用 this.state.shareLinkContent 传递状态,这是不正确的。它应该是 tmp.state.shareLinkContent

所以改变

    ShareDialog.canShow(this.state.shareLinkContent)

To

    ShareDialog.canShow(tmp.state.shareLinkContent)

会解决你的问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

null 不是对象(评估“ShareDialog.canShow”) 的相关文章

  • React Router 深度链接

    这是我第一次使用 React 和 React Router 我遇到了一些深层链接问题 我构建了一个简单的 SPA 在 React Router 的帮助下 我可以导航到 mysite com work mysite com about 和 m
  • 是否可以在 mailto url 中添加新行?

    我正在尝试打开电子邮件客户端mailto来自我的反应本机应用程序的网址 用于打开客户端的代码片段 const body my email nbody Linking openURL mailto email protected cdn cg
  • 使用 React 和 Ant Design 的浮动标签

    对于我的 React 应用程序 我正在尝试构建一个表单浮动标签使用具有不同输入类型的 Antd 模板 仅使用样式使标签浮动 到目前为止 我已经能够将标签放在输入后面 但是当我将转换 转换应用于我的CSS代码时 它似乎根本不起作用 这是我的表
  • 如何使用 React-Router-DOM v6 `useSearchParams` 获取所有查询参数而不指定键?

    我目前正在使用react router dom v6 开发一个React 项目 我想获取所有查询参数 http localhost 3000 users page 5 pageSize 25 我想同时获取页面和页面大小 我知道我们可以使用下
  • 如何在reactjs中动态加载组件?

    我正在开发一个 Reactjs React motion 项目 在 模态窗口 比方说 中 我想动态安装或加载组件 如果可能的话 到目前为止我的解决方案 我找不到一种方法 所以看起来更容易将组件放置到位并隐藏它 然后在状态更改时切换类或样式
  • 如何停止由 useEffect 在每次渲染时获取一些数据引起的 SideNav 闪烁 - Reactjs

    我有一个父组件 其中包含一个 SideBar 组件和一个渲染父级中嵌套路由组件的组件 SideBar 有 useEffect 钩子来进行 API 调用来检索一些数据 例如用户的名称 如果用户经过验证 我会使用它在导航顶部显示用户的名称并有条
  • Redux:为什么避免突变是使用它的基本部分?

    我是 Redux 的新手 我真的很想了解使用函数式编程使单向数据更加优雅的全局 在我看来 每个减速器都采用旧状态 创建一个新状态而不改变旧状态 然后将新状态传递给下一个减速器以执行相同的操作 我知道不造成副作用可以帮助我们获得单向数据流的好
  • Express COR 策略阻止 Apollo 客户端从服务器获取数据

    我正在运行一个反应开发服务器http localhost 3000和一个快递服务器http localhost 8080并使用 Apollo 客户端来查询服务器 为了使会话数据能够从客户端传递到服务器 我添加了credentials inc
  • React-Native,滚动视图不滚动

    当我像下面的示例一样包装内容时 它会完美滚动 return
  • 如何理解javascript React中的这段代码

    我在网上找到了这个函数在js中的实现 这个函数递归地过滤一个对象数组 每个对象可能有属性 children 它是对象数组 并且对象也可能有孩子等等 该函数工作正常 但我有点不明白 这是我的功能 getFilteredArray array
  • 基于布尔 prop 的条件字段验证

    我想要favoriteAlcohol仅当以下情况时才需要验证 需要的字段props isAdult传递给组件的是true Yup object shape favoriteAlcohol Yup string when props isAd
  • 在next.js中获取客户端当前的url

    因此 我正在开发一个 Nodejs 应用程序 我将在该应用程序上建立我的新网站 并且我想为客户端的用户提供一种显示不同内容的方法 根据用户按下的内容重新呈现 我的想法是 例如 首先用户会看到 请先选择一个工具 然后用户将在导航栏中选择一个工
  • TypeError:使用react-create-app jest和enzyme进行测试时,dispatch不是一个函数

    我正在尝试对使用react create app 创建的新项目进行测试 现在似乎正在使用 React 16 和 Jest 3 据说有一些重大更改 或者可能是 enzime 我收到类似于这篇文章的错误TypeError 当我尝试使用 JEST
  • JavaScript 在对象中创建数组并将数据推送到数组

    我是编程新手 我正在尝试 React 并具有函数 addComment 当用户向新闻添加评论时执行该函数 此时我需要创建一个属性comments 数组 并分配或推送到该数组输入评论值价值 但现在我只重写了数组的 0 个元素 无法添加新元素
  • 在 React 中使用 document.querySelector?我应该使用 refs 代替吗?如何?

    我现在正在 React 中构建一个轮播 滚动到我正在使用的各个幻灯片document querySelector像这样 useEffect gt document querySelector slide activeSlide scroll
  • 在 React 中渲染来自 Firebase 的数据

    请帮助我渲染从 Firebase 实时数据库检索的数据 我成功从 Firebase 中以数组形式检索数据 下一步是显示数据 问题就从这里开始了 我想要显示的数据应该存储在 模块 状态 首先 它被设置为一个空数组 然后检索数据 通过 Coum
  • React-Three/Fiber 创建 3D 文本

    我正在尝试使用 Threejs React Three Fiber 创建 3D 文本 我使用字体加载器加载字体 如下所示 const font new FontLoader parse Microsoft Tai Le Regular js
  • 在 es6 中使用 jsPDF 和 html2canvas

    我正在尝试将 jsPDF 和 html2canvas 与 es6 一起使用 我正在导入 html2canvas 和 jsPDF 但在 addHTML 上出现错误 当我注释掉 addHTML 时 会生成 pdf 有什么线索吗 Thanks j
  • touchableopacity onpress 函数未定义(不是函数)React Native

    我希望能够在点击 TouchableOpacity 按钮后导航到新屏幕 但收到一条错误消息 this3 handleThisTap 不是函数 在 this3 handleThisTap 中 this3 handleThisTap 未定义 i
  • React 中动态路由与静态路由的优点

    我正在读关于静态路由与动态路由 https reacttraining com react router web guides philosophy在 React Router 中 我正在努力确定后者的优势 以及为什么 v4 选择使用它 我

随机推荐

  • 返回所有可以是多个的最大或最小值

    Enumerable max by and Enumerable min by return one当接收器中有多个最大 最小元素时 相关元素 大概是第一个 的 例如 以下内容 1 2 3 5 max by e e 3 仅返回2 或仅5 相
  • 如何将 B 列中的唯一值与 A 列中的奇异值连接起来

    我有两列代表一对多关系 我需要将其简化为 1 1 关系 其中 B 列中的许多内容由逗号连接 数据如下 zipcode neighbors 10001 10010 10001 10011 10001 10016 10001 10018 100
  • 部分正则表达式匹配

    我有一个正在测试字符输入流的正则表达式 我想知道是否有一种方法可以将正则表达式与输入进行匹配 并确定它是否是消耗整个输入缓冲区的部分匹配 IE 在正则表达式完成之前就到达了输入缓冲区的末尾 我希望实现决定是等待更多输入字符 还是中止操作 换
  • java JPanel 如何固定大小

    我想要一个可调整大小的面板 它始终具有固定深度的顶部绿色面板 即所有高度变化都应仅影响黄色面板 我下面的代码几乎没问题 只是绿色面板的大小略有不同 我该怎么做呢 Panel setLayout new BoxLayout Panel Box
  • 没有 gorm.Model 列的 Gorm 查询

    如何省略来自 gorm Model 的列 例如 创建日期 修改日期 考虑以下模型 type User struct gorm Model Firstname string Lastname string 现在我可以选择特定列 db Sele
  • 将新的 wifiConfiguration 添加到 wifiiManager 时总是得到 -1

    我正在创建范围内 wifi 的列表并将其显示给用户 我希望用户可以选择列表中的每个项目并插入密码以便连接到所选的 SSID 我写了这个方法来连接wifi private WifiConfiguration wifiConf WifiConf
  • Android SDK (Nexus 5X API28 x86) 在准备安装时停止

    我最近选择了 Android SDK 并尝试配置 SDK 来测试程序 并可能进行一些基本的 Java 应用程序编程 我的问题是它显然无法完成其设置 除了冻结之外 开始按钮呈灰色 并且我无法访问 Google Play 商店 我确实可以访问
  • git push origin master 拒绝用户 X,其中 x 不是本地 git 配置中的用户

    以此开头我对 git 和 github 很陌生 我以用户 zzz 在 github 上设置了一个存储库 并且它正确地列在我的本地 特定于存储库的 git 配置文件中 当我这样做时 该文件具有如下所示的条目 git config local
  • Go 为什么没有 stackoverflows

    我在这个演示文稿中读到http golang org doc ExpressivenessOfGo pdf http golang org doc ExpressivenessOfGo pdf第 42 页 Safe 没有堆栈溢出 这怎么可能
  • 为什么 setTimeout(.., 0) 不立即执行?

    var timeout setTimeout function console log I m message from timeout 0 console log I m message from outside timeout 1 I
  • 字节比布尔[8]更有效[重复]

    这个问题在这里已经有答案了 如果我在一个类中需要 8 个布尔成员变量 Java 是否可以有效地将它们全部放在一个字节中 或者它会为每个使用一个字节吗 换句话说 内存占用是否不同 boolean a boolean b boolean c b
  • Pandas 从组中获取列的第一个和最后一个值

    嗨 我有dataframe包含同一 ID 的多行 其中一列是日期 按升序排列 我想计算第一个条目和最后一个条目之间的日期差 我通过实例化 pandas 构造函数来实现此目的 如下所示 g df groupby ID print pd Dat
  • CKEditor 按键事件未正确更新文本

    我有以下代码 当用户在 CKEditor 文本区域内键入内容时 自动更新 div 内的内容 CKEDITOR instances editor on key function e var preview document getElemen
  • C++矢量源代码

    我正在尝试获取向量源代码以了解标准 std 或 stl 向量是如何实现的 这是出于学习目的 现在的问题是我在哪里可以找到源代码 甚至其他 C 容器的源代码也有帮助 不存在 标准 向量 标准定义了行为和接口 以及一些实现细节 例如连续存储 但
  • DataType 属性破坏日期时间字段上的 jQuery 日期选择器

    我在用MVC 4 and 剃刀视图我无法理解为什么我的日期字段上的编辑视图没有正确绑定到内置 jQuery 日期选择器 该字段是数据类型Date在数据库中 以及DateTime在域模型中 我不想显示时间 只想显示日期 该字段是必填字段 需要
  • 透明度实际上是如何实现的?

    给定两个图像 A B 我想要第三个图像 C 就好像 B 的透明度为 t 0 5 并放置在 A 的顶部 现实中C是如何计算的以及n如何影响它 我对任何程序或伪代码都不感兴趣 我只想知道基本原理 我认为 C 的一种方式只不过是 A 和 B 的交
  • ImportError:colab google 中没有名为 object_detection.builders 的模块

    我运行时出现此错误 cd git clone quiet https github com tensorflow models git apt get install qq protobuf compiler python tk pip i
  • 为什么不为 Rspec + Selenium 使用共享 ActiveRecord 连接?

    处理 Selenium 和测试的最普遍接受的方法似乎是避免使用事务固定装置 然后在测试 场景之间使用诸如 database cleaner 之类的东西 我最近遇到了以下情况article http blog plataformatec co
  • 为什么 Eclipse 的 Egit 中 Commit 是灰色的

    EGit 中的提交按钮神秘地变灰了 几天前还运行得很好 有谁知道如何解决这一问题 我在谷歌上没有找到任何线索 我会附上屏幕截图 但我还没有足够的声誉点 我遇到了这个问题 发现在远程获取和合并后我有未暂存的更改 将未暂存的更改移至 Git S
  • null 不是对象(评估“ShareDialog.canShow”)

    我有这样的代码 import React Component from react import AppRegistry StyleSheet Text TouchableHighlight View from react native i