我无法让这个组合工作。我认为这是因为混合使用TypeScript?我的语法如here所示,但我遇到了运行时问题。没有编译错误,但是当遇到func时,我得到:
this.foo不是函数
export default class App extends Component<Props> {
render() {
return (
<Button title="A Button" onPress={this.buttonPressed} />
);
}
buttonPressed() {
this.foo().then(movies => {
console.log(movies);
});
}
async foo() {
try {
let response = await fetch('https://facebook.github.io/react-native/movies.json');
let responseJson = await response.json();
return responseJson.movies;
} catch (error) {
console.error(error);
}
}
}
答案 0 :(得分:0)
正如CRice所指出的,这仅仅是因为无法在匿名回调中访问this
。它可以通过以下方式解决:
onPress={() => this.buttonPressed(this)}