如何使用带有钩子的react-native-action-sheet

2024-01-28

我正在尝试使用https://github.com/expo/react-native-action-sheet https://github.com/expo/react-native-action-sheet在使用提供的钩子 useActionSheet() 的功能组件中。我已经在使用类组件版本,没有任何问题,但我想切换到功能性版本。

React版本是16.9.0

这是我的组件

import {
  connectActionSheet,
  useActionSheet,
} from "@expo/react-native-action-sheet";
import React, { Component } from "react";
import { View, Text, SafeAreaView } from "react-native";
import TaButton from "../components/TaButton";
import { typography, styles, buttons } from "../components/Styles";

const UploadUI: React.FC<{
  description: string;
  label: string;
}> = (props) => {
  const { showActionSheetWithOptions } = useActionSheet();

  const openActionSheet = () => {
    console.log("TEST - Choosing action now");
    const options = [
      "Scegli dalla libreria",
      "Scatta una foto",
      "Carica un file",
      "Annulla",
    ];
    //const destructiveButtonIndex = 0;
    const cancelButtonIndex = options.length - 1;

    showActionSheetWithOptions(
      {
        options,
        cancelButtonIndex,
        //destructiveButtonIndex,
      },
      (buttonIndex) => {
        // Do something here depending on the button index selected
        switch (buttonIndex) {
          case 0:
            console.log('Case 0')
            
            return;
          case 1:
            console.log("Case 1");
            return;
          case 2:
            console.log("Case 2");
            return;

          default:
        }
      }
    );
  };

  const { description, label } = props;
  return (
    <View style={{ flexDirection: "row", height: 50, marginBottom: 30 }}>
      <View style={{ flex: 0.7, justifyContent: "center" }}>
        <Text style={typography.body}>{description}</Text>
      </View>
      <View style={{ flex: 0.3 }}>
        <TaButton
          style={buttons.primary}
          labelStyle={buttons.primaryLabel}
          onPress={() => openActionSheet()}
          label={label}
        />
      </View>
    </View>
  );
};

const URWStep4: React.FC = (props) => {
  return (
    <SafeAreaView style={styles.container}>
      <View style={styles.container}>
        <View style={{ paddingVertical: 30, marginBottom: 20 }}>
          <Text style={typography.title}>
            Ci serviranno alcuni documenti per verificare la tua identità
          </Text>
        </View>
        <UploadUI
          description="Carta d'identità - Fronte"
          label="Carica"
        ></UploadUI>
        <UploadUI
          description="Carta d'identità - Retro"
          label="Carica"
        ></UploadUI>
      </View>
    </SafeAreaView>
  );
};

export default connectActionSheet(URWStep4);

单击按钮时,会按照预期记录“测试 - 现在选择操作”这句话,但没有任何反应。操作表无法打开。


检查您是否已使用以下内容包装了顶级组件<ActionSheetProvider />即使使用钩子时

https://github.com/expo/react-native-action-sheet#1-wrap-your-top-level-component-with-actionsheetprovider- https://github.com/expo/react-native-action-sheet#1-wrap-your-top-level-component-with-actionsheetprovider-

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

如何使用带有钩子的react-native-action-sheet 的相关文章

  • Firebase,只得到新的孩子[重复]

    这个问题在这里已经有答案了 var firebase new Firebase firebaseRef on child added function snapshot 这将接收所有元素 有没有办法在创建新的 Firebase 引用时不接收
  • 使用 Angular 指令禁用文本选择

    我正在学习 JavaScript 和 AngularJS 我想使用 Angular Directive 禁用文本选择 我有该函数的 JavaScript 代码 function clearSelection if document sele
  • 使用 Node.js 构建网站的最佳实践

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我想知道如何使用 Node js 从头开始 开发一个网站 我明白我怎么能possibly
  • 如何使用有角度的材料创建卡片网格?

    我正在尝试使用 ng repeat 创建每行三张卡片的网格 我有一个普通的 javascript 对象数组附加到范围 下面的代码将为每张卡创建一个新行 div div
  • 想要动态处理与分页相关的页码显示:ReactJS

    我有一些分页逻辑工作得很好 唯一的问题是我只能让它显示并固定数量的页面可供选择 现在我已经把它放到了 5 页 但我希望它能够根据总记录动态更改 假设我有 100 条记录 每页限制为 10 条 将有 10 页 现在我只能让它以这种方式显示 第
  • 为什么 setTimeout 在 Chrome 中触发两次,而在 IE 或 Firefox 中则不然?

    有人能告诉我为什么 javascript 函数 生成新号码 在 Chrome 中触发两次 但在 IE 或 Firefox 中则不会 使用 Chrome 20 0 1132 57 IE9 和 Firefox 13
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • ReactTransitionGroup 不适用于 React-redux 连接组件

    我正在开发一个更大的项目 但我创建了这个简短的示例来说明问题 如果我使用Box组件 它的工作原理 它在控制台中输出componentWillEnter and componentWillLeave当我们点击按钮时 如果我使用BoxConta
  • 如何使用 Greasemonkey 监视静态 HTML 页面的更改?使用哈希?

    我希望我的 Greasemonkey 脚本仅在其访问的静态页面具有与以前完全相同的内容时运行 现在我可以设置一个包含该页面哈希的变量 我正在寻找一种动态散列页面的方法 以便我可以将我的散列与生成的散列进行比较 关于如何即时实现散列的任何想法
  • 使用 gradlew assembleRelease 从 React Native 创建发布 apk 时出现错误

    我想发布 apk 但我收到错误 文件已存在 mkdir D mobile 它在 d 驱动器中生成名为 mobile 的文件 删除文件后 再次执行 gradlew assembleRelease 创建该文件并抛出错误 任务 app bundl
  • JavaScript 继承;调用和原型

    要在Javascript中实现继承 通常需要执行以下两个步骤 假设我有一个基类 Animal var Animal function name this name name 我现在想从中派生一个子类 Dog 所以我想说 var Dog fu
  • React Native 的最佳广告中介(AdMob 除外)[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在将广告放入我的 React Native 应用程序中 并试图找到最好的广告中介平台来使用 我正在
  • mongodb 聚合 - 累积字段的不同组值

    如果我有Player表格文件 name String score Int 我有Group文档 其中组代表玩家列表 groupName String players ObjectID 玩家可以属于多个组 我想做一个聚合Player文档 按以下
  • JavaScript eval("{}") 返回行为?

    根据ECMA 262 规范 http www ecma international org publications files ECMA ST Ecma 262 pdf 以下语句返回1 eval 1 eval 1 eval 1 var a
  • Rails 3.1+ 的 Jasmine 与 Mocha JavaScript 测试 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对茉莉花有经验并且非常喜欢它 有谁有 Jasmine 和 Mocha 的经验 特别是 Rails 的经验吗 我想知道是否值得转用 我已经在 J
  • 主页(网格)上的缩略图现在显得模糊。如何纠正?

    我不知道这看起来是否愚蠢 但从早上开始我就无法纠正这个突然出现在我的博客网站上的错误www candidopinions in http www candidopinions in 我有一个网格视图模板 其中博客文章中的特色图像作为调整大小
  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • 使用 next.js 进行服务器端渲染与传统 SSR

    我非常习惯 SSR 意味着页面得到完全刷新并从服务器接收完整 HTML 的方法 其中根据后端堆栈使用 razor pub other 进行渲染 因此 每次用户单击导航链接时 它只会向服务器发送请求 整个页面将刷新 接收新的 HTML 这就是
  • 在 iOS 7 Safari 中,如何区分通过边缘滑动与后退/前进按钮的 popstate 事件?

    在 iOS 7 Safari 中 现在有两种后退 前进导航方式 使用底部的传统后退 前进按钮箭头或从屏幕边缘滑动 我正在使用动画在 ajax 应用程序中的页面之间进行转换 但如果用户通过边缘滑动进行导航 我不想触发该转换 因为这本身就是一个
  • Flot 库将 y 轴设置为最小值 0 和最大值 24

    如何将 y 轴设置在 0 到 24 的范围内 这是我的代码 j plot j placeholder d1 xaxis mode time min new Date 2010 11 01 getTime max new Date 2011

随机推荐

  • 在后台脚本中设置间隔

    我正在为实时产品开发浏览器扩展 我有一个在manifest json 中设置了 persistent true 的背景页面 我使用的是v2 版本 我使用 setInterval 每秒不断地轮询服务器以获取新数据 后台脚本还会缓存迄今为止收集
  • 使用纯 R 通过 dbplyr 处理日期

    dbplyr 将 dplyr 和基本 R 命令转换为 SQL 以便开发人员可以编写 R 代码并在数据库中执行它 整洁宇宙参考 https dbplyr tidyverse org 在 R 中处理日期时 通常使用 lubridate 包 然而
  • JDK 11 + JUnit 5 + Jigsaw:Junit 无法运行“模块信息”测试

    我尝试在 Gradle 项目中使用 JUnit 5 compileJava and compileTestJava两者都成功了 但是test失败并显示奇怪的消息Could not execute test class module info
  • 从“dragmove”回调中移动图层后,事件丢失

    我有一个移动图层的滚动条 因此该图层在滚动条的 dragmove 回调中移动 这会导致所有绑定事件在移动的图层上断开连接 请看这个小提琴 http jsfiddle net NY4QK 10 http jsfiddle net NY4QK
  • 链接 2 个异步调用(promise API)以串行运行

    这与我发布的问题类似today https stackoverflow com questions 16307652 promise api combining results of 2 asynchronous call 但需要串行链接请
  • 更新 Jupyter Notebook 扩展的正确方法是什么?

    升级 Jupyter Notebook 扩展 例如 RISE ipywidgets 的正确方法是什么 我有一个例程 可以通过运行来更新我的 Python 包pip install upgrade 并且当新的笔记本扩展版本可用时 这也会下载并
  • 如何将日期和时间分成两个元素?

    我制作了一个实时显示日期和时间的对象 我想知道如何将时间部分与日期分开 以便我可以将它放在自己的 HTML 元素中 以便我可以对其应用不同的样式 我对 JavaScript 不太熟悉 而且我发现使用日期对象非常复杂 LiveDateTime
  • 将最近的提交移至不同的现有分支

    我刚刚对功能分支进行了一些更改 但我意识到我在错误的分支上 如何获取我所做的最后一次提交 并将其移动到另一个已经存在的分支 我还没有推任何东西 我见过一些类似的问题 但它们都涉及创建一个新分支 并且他们所做的所有硬头重置都令人恐惧 git
  • 如何减少简单选择查询的响应时间?

    MarketPlane表包含超过 6000 万行 当我需要特定日期的飞机总数时 我执行此查询需要 7 分钟以上 我怎样才能减少这个时间 SELECT COUNT primaryKeyColumn FROM MarketPlan WHERE
  • jspc-maven-plugin 未执行?

    我在我的 pom xml 中添加了这样的 jspc 插件
  • Oracle:如何以最佳方式使用不同的 where 子句进行多次计数?

    我需要对同一表中具有不同 where 子句的行进行计数 以下是我所需的输出 Bu A B C D E F G H J K L M N GB01 267 284 84 45 35 32 458 801 111 899 892 56 99 NL
  • WooCommerce:自动完成付款订单

    通常 wooCommerce 应自动完成虚拟产品的订单 但事实并非如此 这是一个真正的问题 甚至是一个BUG之类的 所以此时你可以找到一些有用的东西 但不是很方便 1 一段代码 您可以在 wooCommerce 文档中找到 Auto Com
  • 为复杂嵌套数据编写 REST API

    因此 我正在 Angular 中构建一个应用程序 该应用程序将在后面利用 REST API 在 Node 上运行 我在设计此 API 时在处理数据复杂性方面遇到一些麻烦 需要一些帮助 以下是有问题的不同资源 医生 每个医生可能有多个患者 患
  • 在Excel VBA中,如何检查网页是否完全加载?

    为了暂停代码直到网页完全加载 我几乎一直在使用下面的方法并取得了巨大的成功 Do While objIE Busy True Or objIE readyState lt gt 4 DoEvents Loop 但有时 我会看到文本内容在该方
  • Flowtype 不断需要空检查

    我想知道如何避免这些大量的空检查 或者至少了解重点是什么 因为它似乎适得其反 如果我省略空检查 Flowtype 会给我一个错误 var myEl new MyElement if document body null error on n
  • Scrapy 使用 selenium,webdriver 无法实例化

    我正在尝试将 selenium phantomjs 与 scrapy 一起使用 但我遇到了很多错误 例如 采用以下代码片段 def parse self resposne while True try driver webdriver Ph
  • oauth/token 访问此资源需要完全身份验证

    我想以用户身份登录 但由于某种原因 端点似乎oauth token受到保护 Request URL http 192 168 0 14 8080 oauth token Request Method POST Status Code 401
  • 如何在 AD 过滤器字符串中使用变量?

    我有以下 powershell 脚本来获取 LDAP 属性 我想将 BadgeID 作为变量传递 而不是对其进行硬编码 LDAP 查询正在使用硬编码的 BadgeID 但看起来如果我用变量替换硬编码的值 那么它不会返回任何内容 BadgeI
  • Plotly 3d 曲面图的 x 轴和 y 轴值不正确

    我想用plotly 制作一个3D 曲面图 这一切进展顺利 但是 x 轴和 y 轴上的值没有意义 它们比应有的水平要高得多 我在绘图中使用了一个矩阵 x 和 y 值是行和列名称 z 值 称为高程 当然是矩阵本身 Plotly 似乎没有使用 x
  • 如何使用带有钩子的react-native-action-sheet

    我正在尝试使用https github com expo react native action sheet https github com expo react native action sheet在使用提供的钩子 useAction