繁体   English   中英

如何在Reactjs中动态渲染图像?

[英]How to dynamically render an image in Reactjs?

我正在尝试使用React显示图像

const falsyData = {
    'Agent Swartz': {
      'username' : 'Kakaroto',
      'position': 'Agent',
      'picture': require('./img/aaron.jpg'),
      'area': 'Canada'
    },
    'Agent Larry': {
      'username' : 'Larry',
      'position': 'User',
      'picture': require('./img/larry.jpg'),
      'area': 'France'
    }
  }

这是渲染

constructor() {
    super();
    this.state = {value : '', result: ''};
  } 
render () {
    let searchRes = this._matchPeople(this.state.value),
        match = Object.keys(searchRes).map(function(key) {
          return <div><h3>{key}</h3>
                Username: <strong>{searchRes[key].username}</strong> <hr />
                Position: <strong>{searchRes[key].position}</strong> <hr />
                Picture: <strong>{searchRes[key].username}</strong>  <hr />
                Area: <strong>{searchRes[key].area}</strong>         <hr />
                <img src={searchRes[key].picture} />  // HERE I NEED THE IMG
          </div>;
        });
    return (
            <TextField onChange={this._onChange.bind(this)}
                    onKeyUp={this._changeInput.bind(this)}
                    value={this.state.value} />
            {!!this.state.value.length && <div>{match}</div>}
    );
  }

我该怎么办 ?

由于<img>src属性采用网址,因此我将falsyData更改为

const falsyData = {
  'Agent Swartz': {
    'username' : 'Kakaroto',
    'position': 'Agent',
    'picture': '/img/aaron.jpg',
    'area': 'Canada'
  },
  'Agent Larry': {
    'username' : 'Larry',
    'position': 'User',
    'picture': './img/larry.jpg',
    'area': 'France'
  }
}

这样,您require('path/file.jpg') URL传递给<img>元素,而不是返回任何require('path/file.jpg')返回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM