几天前我开始学习React Native,我一直坚持这个看似简单的问题。
我有一个注册表单,我只是在用户按提交后尝试将表单的值记录到控制台。问题是当我按下按钮时,应用程序会挂起大约一分钟然后崩溃。没有错误或日志,所以我不知道为什么它会崩溃,虽然我知道当我尝试在onPress函数中调用“this”时会发生这种情况。
以下是我的问题的一个简单例子:
import React, { Component } from 'react';
import { View, Button } from 'react-native';
export default class Home extends Component {
render() {
return (
<View style={{flex: 1}}>
<Button
title="Submit"
onPress={this.onPress}
/>
</View>
);
}
onPress = () => {
console.log(this);
}
}
运行此代码并按下按钮会导致我的应用崩溃。但是,将console.log(this)
更改为console.log('test')
会阻止应用崩溃。
我的两个问题是:
答案 0 :(得分:1)
尝试记录this
可能会导致大量输出,甚至可能是周期性的。为什么需要打印整个对象?你能缩小范围吗?您的onPress方法使用类字段语法正确绑定到{{1}}。