Я использую навигационную версию 5 и есть два экрана: домашний и поисковый, я хочу скопировать экран поиска значений на домашний экран, получая сообщение об ошибке Ошибка типа: props.navigation.getParam не является функцией.
Экран поиска
async savechange() {
this.props.navigation.navigate('HomeScreen', { city: this.state.text })
await AsyncStorage.setItem("cityname", this.state.text)
}
async clicklist(name) {
this.setState({ text: name })
await AsyncStorage.setItem("cityname", this.state.text)
this.props.navigation.navigate('HomeScreen', { city: this.state.text })
}
Главный экран
async getWeather() {
// cityname = "london"
cityname = this.props.navigation.getparam('cityname','london')
console.log("CityName ->>" + cityname)
KeyID = '...'
fetch(`http://api.openweathermap.org/data/2.5/weather?q=${cityname}&units=metric&APPID=${KeyID}`)
.then(result => result.json())
.then(data => {
// console.log(data)
this.setState({
info: {
name: data.name,
temp: data.main.temp,
country: data.sys.country,
humidity: data.main.humidity,
description: data.weather[0].description,
icon: data.weather[0].icon
}
})
}).catch(err => {
Alert.alert("Error" + err.message + "Please connect to internet", [{ text: "Ok" }])
})
}