反应使用img onerror

时间:2016-04-05 06:36:05

标签: javascript image reactjs

我创建了一个Image组件

class Image extends React.Component {
  render() {
    return (
      <img src= { this.state.imgUrl } onError ={ this.onError() }/>
    );
  }
  onError(){
      console.log('Image onError');
        this.setState(
      { imgUrl: '../default.png' }
    );
  }
}

并在我看来使用它 但如果找不到一张图片。所有图像组件在视图中出现错误

2 个答案:

答案 0 :(得分:2)

您有onError={this.onError()}即时功能调用。它应该是onError={this.onError.bind(this)}onError={() => this.onError()}

答案 1 :(得分:2)

请记住,如果要更改元素的样式和/或更改img源,只需执行以下操作:

<img
  src={'original src url goes here'}
  alt="example"
  onError={(e) => {
     e.target.src = '/example/noimage.png' // some replacement image
     e.target.style = 'padding: 8px; margin: 16px' // inline styles in html format
  }}
/>

希望有帮助!