Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在turnery操作符中,我如何在几秒钟后返回jsx?_Javascript_Reactjs - Fatal编程技术网

Javascript 在turnery操作符中,我如何在几秒钟后返回jsx?

Javascript 在turnery操作符中,我如何在几秒钟后返回jsx?,javascript,reactjs,Javascript,Reactjs,我使用的是这样一个turnery操作员: { typeof weather.data !== "undefined" ? ( <React.Fragment> <div className="col-lg-6 col-md-6 col-sm-12 col-12 border"> <Details temp={Math.round(weather.data.main.temp)} city

我使用的是这样一个turnery操作员:

{
  typeof weather.data !== "undefined" ? (
    <React.Fragment>
      <div className="col-lg-6 col-md-6 col-sm-12 col-12 border">
        <Details
          temp={Math.round(weather.data.main.temp)}
          city={weather.data.name}
          country={weather.data.sys.country}
          date={dateBuilder}
          weather={weather.data.weather[0].main}
        />
      </div>
    </React.Fragment>
  ) : (
    setTimeout(() => {
      return (
        <div className="d-flex flex-column align-items-center w-100 font">
          <img style={{ width: "100px" }} src={require("./assets/wifi.png")} />
          <p className="mt-3">Please check your internet connection</p>
        </div>
      );
    }, 3000)
  );
}
问题在于,如果weather.data的类型等于undefined,则不会返回

请检查您的连接

3秒后部分基本上setTimeout功能不起作用


那么,如何使用setTimeout在几秒钟后返回值呢?

我将使用超时来更新状态中的标志,以显示JSX元素

const connFail = () => {
    setTimeout(() => {
        this.setState({ connFail: true });
    }, 3000);
};

我将使用超时来更新状态中的标志,以显示JSX元素

const connFail = () => {
    setTimeout(() => {
        this.setState({ connFail: true });
    }, 3000);
};