为了账号安全,请及时绑定邮箱和手机立即绑定

显示不存在的城市的错误消息?

显示不存在的城市的错误消息?

白衣染霜花 2021-10-29 15:02:41
当用户输入一个不存在的城市时,我需要帮助来显示错误。该应用程序当前崩溃,但应显示“请输入现有城市”。任何人都可以帮忙吗?需要帮助编写错误。例如,当用户输入一个不存在的城市时,应用程序不会崩溃,但它应该显示:请输入一个存在的城市。有人能帮忙吗?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 || ''


查看完整回答
反对 回复 2021-10-29
  • 2 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信