当用户输入一个不存在的城市时,我需要帮助来显示错误。该应用程序当前崩溃,但应显示“请输入现有城市”。任何人都可以帮忙吗?需要帮助编写错误。例如,当用户输入一个不存在的城市时,应用程序不会崩溃,但它应该显示:请输入一个存在的城市。有人能帮忙吗?import React, { Component } from "react";import WeatherInput from "./WeatherInput";const KEY = "455137f97981800c10482bbc6539fba2";class Weather extends Component { constructor(props) { super(props); this.state = { city: "", country: "", temperature: "", main: "", description: "", error: "" }; } getWeatherInfo = async event => { event.preventDefault(); const city = event.target.elements.city.value; const country = event.value; const api = await fetch( `http://api.openweathermap.org/data/2.5/weather?q=${city},${country},uk&APPID=${KEY}` ); const data = await api.json(); if (city) { this.setState({ city: data.name, country: data.sys.country, temperature: data.main.temp, main: data.weather[0].main, description: data.weather[0].description, error: "" }); } else { this.setState({ city: "", country: "", temperature: "", main: "", description: "", error: "Please enter the values." }); } }; render() { const { city, country, temperature, main, description, error } = this.state; return ( <WeatherInput getWeatherInfo={this.getWeatherInfo} city={city} country={country} temperature={temperature} main={main} description={description} error={error} /> ); }}export default Weather;
2 回答
慕斯王
TA贡献1864条经验 获得超2个赞
您提到您收到有关country
未定义的错误,因此您需要对此进行更多检查。
首先,如果国家/地区未定义,您想做什么?如果您希望它以与 ifcity
未定义相同的方式出错,则将其添加到您的 if 语句中,如下所示:
if (city && country)
如果您不关心country
未定义并且只想检查城市,请将您的国家/地区变量设置为空字符串(如果尚未设置):
const country = event.value || ''
添加回答
举报
0/150
提交
取消