Ошибка типа: _this2.setState не является функцией, состояние привязки Cant - PullRequest
0 голосов
/ 09 сентября 2018

Я получаю эту ошибку.Поскольку я уже использую формат ES6, эта стрелка, но также получает ту же ошибку.И несколько путают то, как использовать связывание.Как я могу выйти из этой ошибки.

код:

async fetchData() {
    const { navigate } = this.props.navigation;
    var DEMO_TOKEN = await AsyncStorage.getItem(STORAGE_KEY);
    NetInfo.isConnected.fetch().then((isConnected) => {
    if ( isConnected )
    {
       return fetch(`${url}`,
    {
      method: "GET",
      headers: {
        'Authorization': `JWT ${DEMO_TOKEN}`,
      }
    })
       .then(
          function(response) {
              console.log(response.headers);
              console.log(response.status);
              console.log(response.url);
              if (response.status !== 200) {
                  console.log('Status Code: ' + response.status);
                  return;
              }

              response.json().then((responseData) => {
                  console.log(responseData);
                  this.setState({
                     ver: responseData.results.appversion, // getting error here
                  });
              });
          }
      )
      .catch(function(err) {
          console.log('Fetch Error', err);
      });

1 Ответ

0 голосов
/ 09 сентября 2018

Просто чтобы понять, на какой this вы пытаетесь сослаться, не могли бы вы сделать это?

async fetchData() { const ctx = this

А затем ссылка ctx вместо this:

ctx.setState({ ver: responseData.results.appversion, });

...