图像不可见(无法识别来源)

时间:2018-06-01 23:50:53

标签: javascript image reactjs infinite-scroll

我在React.js中制作了一个简单的网络应用程序(后面是+ Spring)。

我在函数 displayItems 中显示本地路径中的照片(.img)时遇到问题。图片不可见。如果我用相同的代码从网上加载文件(src =“http .......”),一切都很好。

你可以帮忙吗?

import React, { Component } from 'react';
import '../index.css';

class Author extends Component {

constructor(props) {
    super(props);
    this.state = {
        mail: window.location.href.slice(32, -7),
        items: 2,
        loadingState: false
    };
    this.handleChange = this.handleChange.bind(this);
}

componentDidMount() {
    this.refs.iScroll.addEventListener("scroll", () => {
        if (this.refs.iScroll.scrollTop + this.refs.iScroll.clientHeight >=this.refs.iScroll.scrollHeight){
            this.loadMoreItems();
        }
    });

}

displayItems() {
    var items = [];
    for (let i = 0; i < this.state.items; i++) {
        //PROBLEM
        items.push(<img src="../resources/Photos/1.jpg"></img>);
    }
    return items;
}

loadMoreItems() {
    this.setState({ loadingState: true });
    setTimeout(() => {
        this.setState({ items: this.state.items + 2, loadingState: false });
    }, 3000);
}

render() {
    return (
          <div
              className="vc"
              ref="iScroll"
              style={{ height: "200px", overflow: "auto" }}
          >
              <h2>My adventures: </h2>
              <div>
                  {this.displayItems()}
              </div>
              {this.state.loadingState
              ? <p className="loading">
              loading More Images..
              </p>
              : ""}
          </div>
    );
}
}
export default Author;

1 个答案:

答案 0 :(得分:2)

您必须使用require或import获取图像,然后在src中使用它,

const image = require("../resources/Photos/1.jpg")

...

items.push(<img src={image}></img>);