在React Native中中止Fetch Request:无法执行React状态更新

时间:2019-12-28 07:30:05

标签: reactjs react-native

所以我遇到了一个著名的错误,即无法执行反应状态更新。而且我知道使用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
      });
    }
  }

0 个答案:

没有答案