Почему _this.state.searchAddress () не является функцией? - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь найти поисковый запрос в реагирующем языке, используя axios, однако, когда я пытаюсь прочитать его в консоли, я получаю эту ошибку:

_this.state.searchAddress не является функцией. (In'`this.state.searchAddress () ',' _ this.state.searchAddress ' такое "данные"

Я изучаю реагирующий на C ++, поэтому я не до конца понимаю эти ошибки. Ошибка выдается на addressSearch.

class MainScreen extends Component {
  state = {
    searchAddress: "",
    addressData: {}
  };

  addressSearch = () => {
    console.log(this.state.searchAddress);
    Keyboard.dismiss();
    const addyZip = this.state.searchAddress();

    const query =
      "https://www.googleapis.com/civicinfo/v2/voterinfo?address= " +
      addyZip +
      "&electionId=6000&key=";

    axios.get(query).then(response => {
      console.log(response);
    });
  };

  render() {
    return (
      <Container>
        <SearchHeader
          value={this.state.searchAddress}
          onChangeText={searchAddress => this.setState({ searchAddress })}
          addressSearch={this.addressSearch}
        />
      </Container>
    );
  }
}

export default MainScreen;

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

в основном в функции addressSearch вам нужно изменить

const addyZip = this.state.searchAddress ();

до

const addyZip = this.state.searchAddress;

, поскольку this.state.searchAddress является строкой, а не функцией.

0 голосов
/ 05 ноября 2018

Переменная this.state.searchAddress - это строка, которую вы изначально установили на "", когда устанавливаете начальное состояние. Вы пытаетесь вызвать строку как функцию, но строка не является функцией.

Вы, вероятно, имели в виду:

const addyZip = this.state.searchAddress;
...