React Native this2.'function' 不是一个函数

2023-12-01

我的 React Native 组件有问题。

sayHi = (s) => {
    console.log('hey' + s)
}

renderListItem(item, i) {

    return (
        <TouchableOpacity
            key={i}
            style={styles.listItem}
            onPress={() => { this.sayHi('bob') }}>

        <Text>{item}</Text>
        </TouchableOpacity>
    )
}

render() {
    this.sayHi('patrick')

    const { list } = this.props

    return (
        <View>
        {list.map(this.renderListItem)}
        </View>
    )
}

In renderListItem我收到一个错误_this2.sayHi 不是一个函数.

网上查了一下,大多数帖子都不符合我的情况;我看了一下这个帖子但我已经有一个箭头函数,所以这不是上下文问题。

功能控制台记录得很好render()。 我尝试绑定this在构造函数中,但我仍然收到错误。


Array#map在不同的上下文中执行回调,所以this未正确绑定。根据文档:

Syntax

var new_array = arr.map(callback[, thisArg])

参数

[...]

thisArg

选修的。用作的值this执行回调时。

[...]

If a thisArg参数被提供给map,它将被用作回调的this价值。否则,该值undefined将被用作其this value.

你可以通过this上下文作为第二个参数Array#map:

{list.map(this.renderListItem, this)}

Or, use Function#bind直接地:

{list.map(this.renderListItem.bind(this))}

最后,您可以使用箭头函数:

{list.map((item, i) => this.renderListItem(item, i))}

虽然我个人会选择第一个选项。

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

React Native this2.'function' 不是一个函数 的相关文章

  • 在 Vue.js 中从父组件执行子方法

    目前 我有一个 Vue js 组件 其中包含其他组件的列表 我知道使用 vue 的常见方式是将数据传递给孩子 并从孩子向父母发出事件 但是 在这种情况下 我想在子组件中的按钮出现时执行子组件中的方法 parent被点击 哪种方法最好 一种建
  • 解析“流”JSON

    我在浏览器中有一个网格 我想通过 JSON 将数据行发送到网格 但浏览器应该在接收到 JSON 时不断解析它 并在解析时将行添加到网格中 换句话说 在接收到整个 JSON 对象后 不应将行全部添加到网格中 应该在接收到行时将其添加到网格中
  • 如何重定向到 instagram://user?username={username}

    我的 html 页面上有这个链接 可以在特定用户上打开 Instagram 应用程序 a href Link to Instagram Profile a 我一直在寻找自动运行 url instagram user username USE
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • 如何抑制窗口鼠标滚轮滚动...?

    我正在开发嵌入页面中的画布应用程序 我有它 因此您可以使用鼠标滚轮放大绘图 但不幸的是 这会滚动页面 因为它是文章的一部分 当我在 dom 元素上滚动鼠标滚轮时 是否可以阻止鼠标滚轮在窗口上滚动 附加鼠标滚轮 不是 Gecko DOMMou
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 为什么是 javascript:history.go(-1);无法在移动设备上工作?

    首先 一些背景 我有一个向用户呈现搜索页面 html 表单 的应用程序 填写标准并单击 搜索 按钮后 结果将显示在标准部分下方 在结果列表中 您可以通过单击将您带到新页面的链接来查看单个结果的详细信息 在详细信息页面中 我添加了一个 返回结
  • JavaScript 重定向到新窗口

    我有以下代码 它根据下拉列表的值重定向到页面 我如何使其在新窗口中打开 function goto form var index form select selectedIndex if form select options index
  • 音频 blob 的 URL.createObjectURL 在 Firefox 中给出 TypeError

    我正在尝试从创建的音频 blob 创建对象 URLgetUserMedia 该代码在 Chrome 中可以运行 但在 Firefox 中存在问题 错误 当我打电话时stopAudioRecorder 它停在audio player src
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Grails 在 javascript 内的 GSP 站点中使用 grails var

    我有一个在 GSP 文件中的 javascript 代码中使用 grails 变量值的问题 例如 我有一个会话值session getAttribute selectedValue 我想在 javascript 代码部分使用这个值 我现在的
  • 为什么在 Internet Explorer 中访问 localStorage 对象会引发错误?

    我正在解决一个客户端问题 Modernizr 意外地没有检测到对localStorageInternet Explorer 9 中的对象 我的页面正确使用 HTML 5 文档类型 并且开发人员工具报告该页面具有 IE9 的浏览器模式和 IE
  • 在 React 中实现 Google 登录错误 -

    我正在尝试在 React 中实现 google 登录 这是我的组件 import Fragment useEffect from react import GOOGLE CLIENT ID from some file const Goog
  • FireFox 中的自动滚动

    我的应用程序是实时聊天 我有一个 Div 来包装消息 每条消息都是一个 div 所以 在几条消息之后 我的 DOM 看起来像这样 div div Message number two div div div div
  • 在 vue.js 中访问数组对象属性

    给定以下数组vue js packageMaps Object packageMap 0 Object Id 16 PackageType flag list ProductCode F BannerBase packageMap 1 Ob
  • 导致回发到与弹出窗口不同的页面

    我有一个主页和一个详细信息页面 详细信息页面是从主页调用的 JavaScript 弹出窗口 当单击详细信息页面上的 保存 按钮时 我希望主页 刷新 是否有一种方法可以调用主页的回发 同时还可以从详细信息页面维护保存回发 Edit 使用win
  • fullCalendar 未显示正确的结束日期

    我正在看调试页面 http jsbin com wukofacaxu edit js outputFullCalendar 官方网站的 我想安排一个活动时间为 22 09 2015 至 30 09 2015 dd mm yyyy 但它只显示

随机推荐

  • 如何对主键重新排序?

    我有一个包含 5700 条记录的表 主键是一个整数 现在我注意到缺少一些值 像这样 100 data 101 data 102 data 104 data 103不见了 我如何更新所有行以使顺序正确 104变成103在我的示例中 在一个 S
  • 无法加载文件或程序集“AjaxControlToolkit”或其依赖项之一。该系统找不到指定的文件

    我已经使用我的 Visual Studio 安装了 AJAXcontrolsToolkit 并将 Combobox Ajaxcontrol 控件放置在我的网页中 当我编译代码时出现以下错误 无法加载文件或程序集 AjaxControlToo
  • 如何将云存储上的文件中的 json 导入到 Bigquery

    我正在尝试通过 api 将文件 json txt 从云存储导入到 Bigquery 但抛出错误 当通过网络用户界面完成此操作时 它可以正常工作并且没有错误 我什至设置了 maxBadRecords 0 有人可以告诉我我在这里做错了什么吗 代
  • 预加载的声音被卸载?

    所以 我有以下测试代码
  • 在 JavaScript 中使用“<”和“>”运算符比较两个字符串

    比较运算符如 gt and lt return Boolean当它们的输入作为两个字符串值给出时的值 我尝试了几个例子 String vs String console log firstName lt lastname true cons
  • PHP 中的 DOM:解码实体并设置 nodeValue

    我想使用 PHP 对 XML 文档执行某些操作DOM其标准库的一部分 正如其他人已经发现 然后就必须处理解码的实体 为了说明困扰我的问题 我举一个简单的例子 假设我们有以下代码 doc new DOMDocument doc gt load
  • Android 将文件保存到外部存储

    我在 Android 应用程序上创建目录并将文件保存到其中时遇到了一些问题 我正在使用这段代码来执行此操作 String filename MyApp MediaTag MediaTag objectId png File file new
  • 如何修复-没有这样的表:main.auth_user__old

    有人可以详细解释如何修复ERROR no such table main auth user old 当我尝试将数据添加到我的注册模型时 它会出现在我的 Django 应用程序中 我已经使用以下方法解决了这个问题 1 删除db sqlite
  • 标准化向量?

    如何标准化一个 M N 向量 使其所有元素的总和等于 1 我在网上浏览了一下 似乎没有什么完全符合我的需要 谢谢 将所有元素相加 然后将每个元素除以总和 显然 除法 至少 需要采用浮点数 由于这表示浮点矩阵 因此在保持最大精度的同时进行求和
  • 当类定义不可见时捕获异常

    我正在解决一个问题 即损坏的输入文件导致抛出异常 异常类是在实现文件中定义的 因此对我来说是不可见的 它确实继承自std exception 我尝试简单地向前声明异常类 因为我只是通过引用捕获它 然而 这给了我一个error invalid
  • 如何使用 Apache-POI 增加合并单元格值大于单元格宽度的 Excel 行的高度?

    我正在使用 java 类创建一个大的 excel Excel 包含一个存储字符串的合并单元格 字符串的长度非常大 我动态获取该字符串 我需要增加合并单元格的高度 以便完整的字符串适合该单元格 我尝试过使用 换行文本 它会换行文本 但不会增加
  • 使用 CSS 将圆分段

    我知道你可以使用 border radius hack 在 CSS 中画一个圆圈 但是有什么办法可以让他们有像这张图这样的片段吗 有没有办法通过 HTML 和 CSS 而不是 JS 来做到这一点 是的 您可以使用以下两种方法之一获得此类自定
  • ggplot 和 geom_sf 未在世界地图上显示标线和刻度线

    我正在尝试使用naturalearth 数据和ggplot2 获取世界地图 但是 经纬网和轴刻度线和标签未显示在世界地图的 x 轴上 AFAIK这个问题曾经被解决过coord sf expand FALSE 我有使用这个的旧代码 但它似乎不
  • R:在 lapply 内的函数中传递相应数据帧的索引(来自数据帧列表)

    我有 9 个数据框的列表list dataframes从文件和函数中读取func modification来修改它们 我想传递的值pos列表中相应数据框的索引 以便各个行可以拥有各自的dmv and method名称 怎么做 dmv lt
  • 使用 lambda 在 amazon lex aws 上自定义有效负载

    我有一个简单的机器人用于订购披萨 在履行功能中 我想显示视频而不是消息 这是我到目前为止所拥有的 use strict Close dialog with the customer reporting fulfillmentState of
  • wamp服务器:如何部署jsp应用程序

    我刚开始使用 WAMP 服务器 我无法在其上部署我的 java 应用程序 仅运行 Html 页面 请帮助了解目录结构以及保存 jsp java class war xml 文件的位置 当我单击 jsp 链接时 JSP 代码显示在 html
  • C# 如何将 float 转换为 int

    我需要将 float 转换为 int 单精度 32 位 例如 浮点 2 十六进制 40000000 到整数 1073741824 知道如何实施吗 我在msdn帮助中寻找它 但没有结果 float f int i BitConverter T
  • 将 JTable 保存为文本文件

    我正在保存包含 JTable 中的数据的 txt 和 doc 文件 在保存时 它会像在表格中一样布置文本 但由于数据长度不同 它不适合 所以我试图将日期安排如下 第1列名称 第1行第1列数据 第2列名称 第1行第2列数据 第3列名称 第1行
  • 使用 printf 在控制台中使用 C++ unicode 字符?

    My code include
  • React Native this2.'function' 不是一个函数

    我的 React Native 组件有问题 sayHi s gt console log hey s renderListItem item i return