Rejeição de Promise não resolvida: ReferenceError Can't find variable

Estou tentando usar funções assíncronas para buscar dados do servidor API com base na entrada do usuário. O padrão this.state.location é "Rio de Janeiro" e eu estou tentando mudar this.state.location para o valor do input do usuário e aí eu recebi esse erro de Rejeição de Promise não resolvida: ReferenceError Can't find variable e não consigo entender o porquê. O código:

import React, { Component } from "react";
import { View, Text, Button, StyleSheet, TextInput } from "react-native";

const Separator = () => <View style={styles.separator} />;

class Home extends Component {
  constructor(props) {
    super(props);

    this.state = {
      location: "Rio de Janeiro",
      result: [],
      isLoading: true,
    };
  }

  async getWeatherData() {
    // Weather API
    // documentation: https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/
    const url =
      "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/" +
      this.state.location +
      "/next7days?unitGroup=us&key=LB9VYC553N4BPASN786Z7CRDZ&contentType=json";
    const result = await fetch(url);
    const resultJson = await result.json();
    return resultJson;
  }

  weatherData = async () => {
    let result = await getWeatherData();
    return result;
  }

  async componentDidMount() {
    let result_data = await weatherData();
    this.setState({ result: result_data, isLoading: false });
  }

  render() {
    if (this.state.isLoading) {
      return (
        <View>
          <Text>Carregando...</Text>
        </View>
      );
    } else {
      return (
        <View
          style={{
            flex: 1,
            flexDirection: "column",
            alignItems: "center",
            justifyContent: "center",
          }}
        >
          <TextInput
            style={styles.input}
            placeholder="Adicione Localização"
            onChangeText={(location) => this.setState({ location })}
            value={this.state.location}
          />
          <Button
            title="Clima"
            onPress={() => {
              this.props.navigation.navigate("Clima", {
                day0_datetime: this.state.result.days[0].datetime,
                day0_icon: this.state.result.days[0].icon,
                day0_tempmin: this.state.result.days[0].tempmin,
                day0_tempmax: this.state.result.days[0].tempmax,
                day1_datetime: this.state.result.days[1].datetime,
                day1_icon: this.state.result.days[1].icon,
                day1_tempmin: this.state.result.days[1].tempmin,
                day1_tempmax: this.state.result.days[1].tempmax,
                day2_datetime: this.state.result.days[2].datetime,
                day2_icon: this.state.result.days[2].icon,
                day2_tempmin: this.state.result.days[2].tempmin,
                day2_tempmax: this.state.result.days[2].tempmax,
                day3_datetime: this.state.result.days[3].datetime,
                day3_icon: this.state.result.days[3].icon,
                day3_tempmin: this.state.result.days[3].tempmin,
                day3_tempmax: this.state.result.days[3].tempmax,
                day4_datetime: this.state.result.days[4].datetime,
                day4_icon: this.state.result.days[4].icon,
                day4_tempmin: this.state.result.days[4].tempmin,
                day4_tempmax: this.state.result.days[4].tempmax,
              });
            }}
          />
          <Separator />
          <Button
            title="Diário"
            disabled
            color="#f194ff"
            onPress={() => {
              this.props.navigation.navigate("Diário", {
                day0_datetime: this.state.result.days[0].datetime,
                day0_icon: this.state.result.days[0].icon,
                day0_tempmin: this.state.result.days[0].tempmin,
                day0_tempmax: this.state.result.days[0].tempmax,
              });
            }}
          />
          <Separator />
        </View>
      );
    }
  }
}

const styles = StyleSheet.create({
  separator: {
    marginVertical: 8,
  },
  input: {
    height: 40,
    margin: 12,
    borderWidth: 1,
    padding: 10,
  },
});

export default Home;

O erro que estou vendo:

[Unhandled promise rejection: ReferenceError: Can't find variable: weatherData]
at node_modules/react-native/Libraries/Core/setUpReactRefresh.js:43:6 in Refresh.performReactRefresh
at node_modules/metro-runtime/src/polyfills/require.js:655:10 in setTimeout$argument_0

Obrigado pela ajuda!

No caso do seu código, weatherData é uma propriedade na instância da classe, não é uma variável (no escopo ou não). Para acessar, você precisa usar this.weatherData. Isso deve resolver Promise não resolvida.