找不到变量:导航

2023-11-22

我正在尝试在两个屏幕之间导航react-navigation。我能够访问navigate在 - 的里面render方法,因为它的范围也在该方法内部。

我应该在哪里声明,以便我可以通过此方法访问它component。我正在尝试访问navigate在 - 的里面onPressButton方法,但它给出了一个错误。

找不到变量:导航

import React, { Component } from "react";
import { View, Text, Image, Button, Alert, StyleSheet } from "react-native";
import styles from "./Styles";
import * as strings from "./Strings";
import RoundButton from "./RoundButton";
var DialogAndroid = require("react-native-dialogs");
import { StackNavigator } from "react-navigation";

export default class CreateMessageScreen extends Component {
  render() {  
    const { navigate } = this.props.navigation;

    return (
      <View style={styles.container}>
        <Image source={require("./img/create_message.png")} />
        <Text style={styles.textStyle}>{strings.create_message}</Text>

        <RoundButton
          textStyle={styles.roundTextStyle}
          buttonStyle={styles.roundButtonStyle}
          onPress={this.onPressButton}
        >
          CREATE MESSAGE
        </RoundButton>

      </View>
    );
  }

  onPressButton() {
    var options = {
      title: strings.app_name,
      content: strings.create_message,
      positiveText: strings.OK,
      onPositive: () => navigate("DashboardScreen")
    };
    var dialog = new DialogAndroid();
    dialog.set(options);
    dialog.show();
  }
}

你需要移动const { navigate } = this.props.navigation;进入onPressButton函数而不是render函数(不要忘记bind该函数使得this具有正确的值):

export default class CreateMessageScreen extends Component {
  constructor() {
    super();

    // need to bind `this` to access props in handler
    this.onPressButton = this.onPressButton.bind(this);
  }

  render() {  
    return (
      <View style={styles.container}>
        <Image source={require("./img/create_message.png")} />
        <Text style={styles.textStyle}>{strings.create_message}</Text>

        <RoundButton
          textStyle={styles.roundTextStyle}
          buttonStyle={styles.roundButtonStyle}
          onPress={this.onPressButton}
        >
          CREATE MESSAGE
        </RoundButton>

      </View>
    );
  }

  onPressButton() {
    const { navigate } = this.props.navigation;

    var options = {
      title: strings.app_name,
      content: strings.create_message,
      positiveText: strings.OK,
      onPositive: () => navigate("DashboardScreen")
    };
    var dialog = new DialogAndroid();
    dialog.set(options);
    dialog.show();
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找不到变量:导航 的相关文章

  • 请求位置更新参数

    这就是 requestLocationUpdates 的样子 我使用它的方式 requestLocationUpdates String provider long minTime float minDistance LocationLis
  • 在 Jetpack Compose 中启动动画矢量 Drawable

    我有一个动画矢量可绘制R drawable my anim 我想在 Jetpack Compose 中展示并开始 可绘制对象显示 渲染正确 但动画未启动 这是撰写视图 Composable fun SplashView Surface mo
  • 带有自定义阵列适配器的微调器不允许选择项目

    我使用自定义阵列适配器作为微调器 但是 当在下拉列表中选择一个项目时 下拉列表保留在那里 并且微调器不会更新 这是错误行为 与使用带有字符串的通用数组适配器相比 这是自定义类 我错过了什么吗 谢谢 public class Calendar
  • ROOM迁移过程中如何处理索引信息

    CODE Entity tableName UserRepo indices Index value id unique true public class GitHubRepo PrimaryKey autoGenerate true p
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • 如何知道浏览器空闲时间?

    如何跟踪浏览器空闲时间 我用的是IE8 我没有使用任何会话管理 也不想在服务器端处理它 这是纯 JavaScript 方法来跟踪空闲时间 并在达到一定限制时执行一些操作 var IDLE TIMEOUT 60 seconds var idl
  • 自定义指令链接中的 element.replaceWith 仅在第一次调用时有效

    我是 Angularjs 的新手 不太了解幕后的情况 基本上我想创建一个 E 扭结指令 基于控制器中的数据 我动态创建html 就像整个 表 一样 以替换该指令 我的 html 文件中的指令是这样的
  • @aspnet/signalr 与 @microsoft/signalr javascript 库

    aspnet signalr 与 microsoft signalr javascript 库有什么区别 两者似乎都对 DotNetCore SignalR 有效 两者似乎都很活跃 在一些教程中 我找到 aspnet signalr 在Do
  • Android构建apk:控制MANIFEST.MF

    Android 构建 APK 假设一个 apk 包含一个库 jar 例如 foo jar 该库具有 META INF MANIFEST MF 这对于它的运行很重要 但在APK中有一个包含签名数据的MANIFEST MF 并且lib jar
  • 在 Android 上按下电源按钮时,如何防止先调用 onDestroy() 再调用 onCreate()

    我正在记录每个 onCreate 和 onDestroy 调用 我发现 一旦我单击 Android 上的电源按钮 以及模拟器上的电源按钮 我的活动中就会拨打电话 gt onDestroy gt onCreate 这会杀死我的游戏 然后立即从
  • JavaScript 中的实时摩尔斯电码转换器

    在看到谷歌关于莫尔斯电码 gmail 的愚人节笑话后 我想我应该尝试用 javascript 创建一个实时莫尔斯电码转换器 我正在使用正则表达式和替换将莫尔斯电码更改为字符 例如 replace g a replace g r 我遇到的问题
  • 保护 APK 中的字符串

    我正在使用 Xamarin 的 Mono for Android 开发一个 Android 应用程序 我目前正在努力使用 Google Play API 添加应用内购买功能 为此 我需要从我的应用程序内向 Google 发送公共许可证密钥
  • android Accessibility-service 突然停止触发事件

    我有一个 AccessibilityService 工作正常 但由于开发过程中的某些原因它停止工作 我似乎找不到这个原因 请看一下我的代码并告诉我为什么它不起作用 public class MyServicee extends Access
  • Django 将 JSON 数据传递给静态 getJSON/Javascript

    我正在尝试从 models py 中获取数据并将其序列化为views py 中的 JSON 对象 模型 py class Platform models Model platformtype models CharField max len
  • 弹出窗口的动态高度取决于内容,可能吗?

    是否有可能获得一个宽度始终为 400px 的弹出窗口 但根据弹出窗口中的内容动态高度 我已经看到了这个 但不知道如何将其应用到弹出窗口 调整 iframe 的宽度高度以适应其中的内容 https stackoverflow com ques
  • React Native:捆绑失败 - 无法解析模块“AccessibilityInfo”

    错误 捆绑失败 错误 无法解析模块AccessibilityInfo from D MyApp node modules react native Libraries react native react native implementa
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja
  • 无法运行我的应用程序,要求选择 Android SDK

    今天我已经安装了Android Studio 金丝雀 1 现在我无法运行我的应用程序 将出现以下对话框 我已经通过 文件 gt 项目结构 gt Android SDK 位置 设置了正确的 SDK 位置 期待您的帮助来解决这个问题 警告对话框
  • 用javascript调用外部网页(跨域)

    我正在尝试使用以下网络服务来验证提要这个问题 https stackoverflow com questions 11996430 check if a url is a valid feed 但浏览器不允许我向另一台服务器发送 ajax
  • JQuery 删除和内存泄漏

    我正在开发一个游戏 我看到了很多内存消耗 我使用jquery animate 动画完成后 我 remove 元素 我的问题是 从 dom 树中删除一个元素后 对象还存在记忆中吗 Javascript 是一种垃圾收集语言 这意味着当没有代码保

随机推荐

  • jpa hibernate @OneToOne @JoinColumn referencedColumnName 被忽略

    我在对与另一个具有一对一关系的实体执行 jpql 查询时遇到意外行为 关键点在于 关系是从根实体的主键到目标实体的字段 不是 ID 这是示例 root entity Entity Table name PERSON public class
  • 将 Picasso 与 Image Getter 结合使用

    我正在构建一个聊天应用程序 并尝试将图像附加到 EditText 通过使用 Picasso 从 URL 获取图像 并使用附加和 ImageGetter 将图像附加到 EditText 但是 我在下面实现的内容不起作用 因为使用应用程序时附加
  • 在 2 行 Gridview 之间添加视图

    我有一个 GridView 每行有 3 个元素 当我单击一个项目时 该行下方会出现一个新视图 它有点像 iOS 上的文件夹应用程序 我在 SO 或 Google 上没有找到任何答案 也许你可以给我一些提示 您可以轻松地做到这一点GridLa
  • Android AsyncTask - 执行顺序

    我面临有关 AsyncTasks 执行顺序的问题 我的问题是 假设我有 AsyncTask 的 2 个实现 我的异步任务1 and 我的异步任务2 按以下方式调用 new MyAsyncTask1 execute new MyAsyncTa
  • 按钮边框颜色问题

    我使用以下 HTML 和 CSS 代码创建了一个按钮 btnstyle2 height 28px text align center background color F8F8F8 border radius 3px border colo
  • Spark List 中的 itemChangeEffect 等效项是什么?

    在 Flex 3 中 使用 List 组件 您可以向 itemChangeEffect 属性添加效果 从而允许您以动画方式添加 删除列表控件中的项目 Spark 列表中的等效项似乎是 rendererAdd 和 Removed 事件 但这不
  • 16:9 宽高比,固定宽度

    例如 如果我要嵌入 YouTube 视频 使用 jQuery 我会设置纵横比为 16 9 的高度 因此如果宽度为 560 则高度应为 315px 我有这个 jquery 来设置高度 但我不知道如何应用 16 9 比例 player pare
  • Python - 从可执行文件运行时,Multiprocessing.processes 成为主进程的副本[重复]

    这个问题在这里已经有答案了 我刚刚在我的程序中发现了一个与 Python 多处理模块的使用相关的奇怪错误 当我在我的机器上从源代码运行程序时 一切正常 但我一直使用 pyinstaller 将其构建为可执行文件 并且由于某种原因 当我运行从
  • JAXB:所有元素都需要命名空间前缀

    我正在使用 Spring WebServiceTemplate 进行 Web 服务调用 该调用使用 JAXB 生成请求 XML 我的要求需要 SOAP 请求中的所有元素 包括根 都具有名称空间前缀 只有一个名称空间 Ex
  • 以编程方式从 Google Play 商店下载 APK

    我正在创建一个 Android 应用程序 它依赖于其他一些 Android 应用程序 因此 如果这些依赖的应用程序尚未存在于用户的移动设备上 我想以编程方式从游戏商店下载它们 但在此过程中 我不希望控件转到 Play 商店应用程序 即不应显
  • iOS 8:UIAlertView / UIAlertController 不显示文本或按钮

    我有一个 UIAlertView 它在 iOS 7 中完美显示 但在 iOS 8 中 它不显示任何按钮或标签 警报仍然可见 但只是一个小白框 确定 和 取消 按钮也会接收其事件 但看不到任何文本 我已使用此警报在单击按钮时显示 IBActi
  • 重用 WCF 代理当前程序集中的类型

    VS WCF 集成有一个很好的选项 在引用的程序集中重用类型 问题是我需要相同的东西 但对于当前的程序集 有些类型已在我的程序集中定义 我需要重用它们 使用场景 我有组装 这里有 TypeA 我向其中添加了服务引用 其中一种方法返回与 Ty
  • display.getRealMetrics() 已弃用

    我正在使用 getRealMetrics 方法并发现它已被弃用 val display this display display getRealMetrics outMetrics 任何人都知道替代方案是什么 据官方称docs推荐的方法是使
  • 在 sphinx4 5prealpha 中运行对话框演示时无法访问麦克风

    我正在尝试运行 sphinx 4 pre alpha 的对话框演示 但它给出了错误 我正在创建一个实时语音应用程序 我使用 Maven 导入了项目 并遵循了有关堆栈溢出的指南 https stackoverflow com a 259630
  • 搜索 csv 文件最快的方法是什么?

    任务 检查文件中序列号和护照号码的可用性 我的决定如下 def check passport filename series str number str gt dict Find passport number and series pa
  • Sublime 2 - 根据文件类型更改背景颜色?

    使用现有的 Sublime 2 配色方案 有没有办法有选择地调整背景颜色 例如 仅限 js 文件 非常感谢 你必须修改你的 tmTheme配色方案plist 你可以通过菜单找到它Preferences Browse Packages Col
  • 如何获取 Windows 会话列表?

    我正在尝试找到一种方法来获取 Windows 会话列表 我需要与 用户 选项卡上的 任务管理器 中显示的信息相同的信息 我需要知道用户是否处于活动状态以及她 他是否已登录远程桌面会话 知道如何使用 C Windows XP Pro 做到这一
  • 如何旋转二维数组?

    灵感来自雷蒙德 陈的帖子 假设您有一个 4x4 二维数组 请编写一个将其旋转 90 度的函数 雷蒙德链接到伪代码中的解决方案 但我想看看一些现实世界的东西 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 Becomes 3
  • 在 python 中使用 AWS Lambda 将 Post 请求发送到外部 API

    我想向外部 API 发送发布请求 https example com api jobs test 每隔一小时 我使用的Lambda函数如下 Handler index lambda handler python 3 6 index py i
  • 找不到变量:导航

    我正在尝试在两个屏幕之间导航react navigation 我能够访问navigate在 的里面render方法 因为它的范围也在该方法内部 我应该在哪里声明 以便我可以通过此方法访问它component 我正在尝试访问navigate在