Я пытаюсь выполнить поисковый запрос в response-native, используя axios, однако, когда я пытаюсь прочитать его на консоли, я получаю эту ошибку:
_this.state.searchAddress is not a function.(In'`this.state.searchAddress()','_this.state.searchAddress' is "data"
Я изучаю реакцию на C++, поэтому я не совсем понимаю эти ошибки. Ошибка выкидывается на addressSearch.
class MainScreen extends Component {
state = {
searchAddress: "",
addressData: {}
};
addressSearch = () => {
console.info(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.info(response);
});
};
render() {
return (
<Container>
<SearchHeader
value = {this.state.searchAddress}
onChangeText = {searchAddress => this.setState({ searchAddress })}
addressSearch = {this.addressSearch}
/>
</Container>
);
}
}
export default MainScreen;





Переменная this.state.searchAddress - это строка, которую вы изначально устанавливаете как "", когда вы устанавливаете начальное состояние. Вы пытаетесь вызвать строку как функцию, но строка не является функцией.
Вы, наверное, имели в виду:
const addyZip = this.state.searchAddress;
в основном в функции addressSearch вам нужно изменить
const addyZip = this.state.searchAddress ();
к
const addyZip = this.state.searchAddress;
поскольку this.state.searchAddress - это строка, а не функция.