所以我遇到了一个著名的错误,即无法执行反应状态更新。而且我知道使用isMounted是反模式,因此我试图避免这种情况。
componentDidMount() {
this.isMounted = false
}
componentWillUnmount() {
this.isMounted = false
}
getWinner = async () => {
//inside fetch
if (this.isMounted) {
this.setState({winner: responseJson})
}
}
我的问题是,如果我使用Fetch API(用于react-native)或axios进行请求。我应该如何卸载它以免发生错误??
请注意,这是指本机的fetch API
async componentDidMount() {
try {
const result = await fetch(API);
this.setState({
hits: result.data.hits,
isLoading: false
});
} catch (error) {
this.setState({
error,
isLoading: false
});
}
}