- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试学习 React Native,当示例应用程序运行时,我在使用 Button 组件时收到错误。在我的 Android Lollipop 5.1 智能手机上,错误出现在正常的红色背景中。
java.lang.String cannot be cast to
com.facebook.react.uimanager.AccessiblityDelegate$AccessibilityRole
setDelegate
AccessbilityDelegateUtil.java:93
updateViewAccessibility
BaseViewManager.java:260
// and more stack trace was given
App.js
包含以下代码,在 VS Code 中不会显示任何错误。
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View, Button} from 'react-native';
const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
android:
'This was edited by Shukant Pal for testing',
});
type Props = {};
export default class App extends Component<Props> {
_startGame = () => {
}
_loadExistingGame = () => {
}
_loadTemplateLibrary = () => {
}
_displayAboutUs = () => {
}
render() {
return (
<View style={styles.container}>
<Text>This works</Text>
<View style={styles.container}>
<Button onPress={this._startGame} title="New Game" />
</View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
在发布此问题之前我做了以下检查:
从react-native导入按钮
在 onPress={this._startGame}
出现错误之前。将方法声明从 name()
更改为 name = () => {}
后,问题就解决了。有人能解释一下为什么吗? (我是 React 和 React Native 的新手)
最佳答案
如果你想在没有箭头功能的情况下使用它,你可以绑定(bind)你的函数。
例如。
constructor(props) {
super(props);
// This binding is necessary to make `this` work in the callback
this._startGame = this._startGame.bind(this);
}
_startGame() {
// Do something
}
You have to be careful about the meaning of this in JSX callbacks. In JavaScript, class methods are not bound by default. If you forget to bind this.handleClick and pass it to onClick, this will be undefined when the function is actually called.
This is not React-specific behavior; it is a part of how functions work in JavaScript. Generally, if you refer to a method without () after it, such as onClick={this.handleClick}, you should bind that method.
你的方法是 ES7 第 2 阶段中的类属性为 _startGame = () => {}
.
https://borgs.cybrilla.com/tils/es7-class-properties/
CRNA 包括 babel-plugin-proposal-class-properties
对于这个语法。这就是我们无需在 babel 上进行额外设置即可使用语法的方式。
https://babeljs.io/docs/en/babel-plugin-proposal-class-properties
关于javascript - react native : Error while using built-in button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52913982/
我正在使用 Kotlin 和 Dagger 2 开发一个 Android 项目。我有一个 NetworkModule它应该提供 Retrofit 的单例实例。我在其中定义了所有这些提供程序功能。 下面
我从 util/buildscripts/build.sh 构建 dojo 并包含我的自定义模块导致层文件(示例 dojo.js)仅包含文本“//>>built”。 最佳答案 这里讨论了问题并解决了问
这个问题在这里已经有了答案: How to unhide an overriden function? (1 个回答) 关闭 9 年前。 在我的 Matlab 路径上有一个自定义的 zeros 函数
我试图找到一个内置的几何平均值,但找不到。 (显然,在 shell 中工作时,内置函数不会为我节省任何时间,我也不怀疑准确性有任何差异;对于脚本,我尝试尽可能频繁地使用内置函数,其中(累积)性能提升通
我想知道在 keycloak (KL) 中是否可以分析身份验证日志(尝试次数、错误等),如果 KL 已经提供了这样做的东西,或者我必须构建它。欢迎提出任何建议。 谢谢尼古拉 最佳答案 Keycloak
我想知道在 keycloak (KL) 中是否可以分析身份验证日志(尝试次数、错误等),如果 KL 已经提供了这样做的东西,或者我必须构建它。欢迎提出任何建议。 谢谢尼古拉 最佳答案 Keycloak
据我所知,Python builtins 指的是那些包含在__builtins__ 中的异常和函数: >>> import builtins # import __builtin__ in Pyth
我想修改currency过滤以处理输入值中的自定义货币格式。 (例如,AUD 3.00 -> $3.00)。 一种选择是从头开始编写我自己的过滤器。然而,这似乎有很多重复,鉴于现有的过滤器很棒,我只需
我正在深入研究一些 C 内部结构,我从 clang 的 stddef.h 中找到了以下行(位于 /usr/lib/llvm-11/lib/clang/11.0 .0/include/): typede
这是一个由两部分组成的部分:首先,定义一个函数,distance_from_zero,带有一个参数(选择您喜欢的任何参数名称)。 其次,让该函数执行以下操作: 检查它接收到的输入的类型。如果类型为 i
我创建了一个接受 event 的函数对象并使用 .clientX 和 .clientY 属性做一些事情。基于我传递的是整个对象,而不仅仅是我将使用的属性,是否存在任何性能问题?这个对象是通过引用传递的
我目前正在从 ECMA 学习 JavaScript Manual ,我对内置对象的概念感到困惑。我知道像Function、Object、Math这样的对象是内置对象,你可以直接使用它们,例如Math
我想对我正在构建的小型应用程序使用潜在语义分析,但我不想自己构建矩阵。 (部分是因为我拥有的文档不会成为一个很好的培训集合,因为它们有点短且异构,部分是因为我刚买了一台新计算机,我发现安装线性代数之类
我是 C++ 的初学者,所以如果答案很明显,它可能就是我正在寻找的答案。我正在阅读 this thread 中的第二个回复并感到困惑。 #include #include int main() {
我需要用字符串构建一个对象属性但是我怎么能使用这个字符串的值作为属性名呢? var x = 'a'; var y = 'b'; var xy = x + y; var z = { xy: 's
我目前正在使用 java 中的 play 框架 2.2.6 开发一个应用程序。我的系统需要区分两个用户角色:管理员和用户。 到目前为止,我知道使用 Security.Authenticator 类来防
提问界面标记了许多“可能已经有您的答案的问题”,但我已尝试进行尽职调查以检查是否有任何人在问我在这里的确切内容。如果这是重复的,我深表歉意。 假设我有以下不正确的程序: extern void und
我需要在主屏幕上有相对缓慢移动的图像(有些像动态壁纸),我想知道,就 CPU 负载而言,Android 动画类是否适合这种情况? 我担心的是 android 动画以最高帧速率不断运行,有时它会连续几个
我想知道是否可以从 java.util.stream.Collectors 扩展内置的 Java Stream 收集器类,而不是从头开始构建自定义收集器,因此复制已经在该类中实现的代码。 例如:假设我
以下是我使用 Python 3.8.1(在 macOS Mojave,10.14.6 上,作为 以及其他一些平台上的 Python 3.7(或更旧的))。我是新来的 计算,不知道如何要求改进 语言,但
我是一名优秀的程序员,十分优秀!