1

我从 Movies 示例开始学习 react-native:

https://github.com/facebook/react-native/tree/master/Examples/Movies

电影示例在 iPad Air 上运行良好。当在 iPhone 5C 上执行时,该应用程序在 fetch 中迅速崩溃:

undefined 不是对象(评估 'responseData.total' ) SearchScreen.js @ 136:0

    fetch(this._urlForQueryAndPage(query, 1))
      .then((response) => response.json())
      .catch((error) => {
        LOADING[query] = false;
        resultsCache.dataForQuery[query] = undefined;

        this.setState({
          dataSource: this.getDataSource([]),
          isLoading: false,
        });
      })
      .then((responseData) => {
        LOADING[query] = false;
        /*  *** Crash originates on following line 136 *** */
        resultsCache.totalForQuery[query] = responseData.total;
        resultsCache.dataForQuery[query] = responseData.movies;
        resultsCache.nextPageNumberForQuery[query] = 2;

        if (this.state.filter !== query) {
          // do not update state if the query is stale
          return;
        }

        this.setState({
          isLoading: false,
          dataSource: this.getDataSource(responseData.movies),
        });
      })
      .done();
  },

Fetch 很难理解。这个 fetch 有什么问题?

我担心的是,在我尝试在 Android 上运行 Movies 之前,它在测试的第二台 iOS 设备上崩溃了。我希望这是一个获取编码问题,由于某种未知原因,它没有在 iPad 上显示出来。

4

0 回答 0