javascript - ReactJS - 在加载图像之前显示预加载器

标签 javascript json reactjs

我有这个组件,其中呈现来自 json 的数据。一切正常。但我想插入一个加载器:<i className="fa fa-spinner"></i>在加载图像之前。加载程序之后也应该消失。我该怎么做?

import React, { Component } from 'react'

var data = require('./db.json');

class Biografy extends Component {
  constructor(props) {
    super(props)
    this.state = {
      photo: ""
    }
  }

  componentDidMount() {
    this.setState({
      photo: data.biography[0].photo
    })
  }

  render() {
    return (
      <div>
        <i className="fa fa-spinner"></i>
        <img src={this.state.photo && `/images/${this.state.photo}`} alt="" />
      </div>
    )
  }
}


export default Biografy

最佳答案

因为看起来您正在使用 this.state.photo 的状态来确定它是否正在加载,您可以在呈现 i 之前简单地添加该条件> 标签:

{!this.state.photo && <i className="fa fa-spinner"></i>}

关于javascript - ReactJS - 在加载图像之前显示预加载器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56582328/

相关文章:

javascript - 为什么我的自定义滚动条不显示在浏览器中?

javascript - 以编程方式将变量和对象名称输出为文字文本字符串

ruby-on-rails - Rails 对象关系和 JSON 渲染

javascript - 具有 Python 和 JavaScript 引擎的多操作系统文本数据库

javascript - 在 React 中填充初始状态

javascript - 在 NodeJS 中,如何测试由解析 POST API 请求的类方法发出的事件?

javascript - 如何将项目插入数组而不删除最后一个元素

javascript - 如何将数据从服务器传递到页面

javascript - 带有特殊字符的条件输入占位符(十六进制值)

reactjs - React 中组合优于继承的好处