Ho un componente di reazione che è la vista di dettaglio da un elenco.react.js Sostituisci img src onerror
Sto cercando di sostituire l'immagine con un'immagine predefinita se l'immagine non esiste e c'è un errore 404.
Normalmente utilizzerei il metodo onerror nel tag img ma non sembra funzionare.
Non sono sicuro di come farlo con reagire.
Qui è la mia componente:
import React from 'react';
import {Link} from 'react-router';
import ContactStore from '../stores/ContactStore'
import ContactActions from '../actions/ContactActions';
class Contact extends React.Component {
constructor(props) {
super(props);
this.state = ContactStore.getState();
this.onChange = this.onChange.bind(this);
}
componentDidMount() {
ContactStore.listen(this.onChange);
ContactActions.getContact(this.props.params.id);
}
componentWillUnmount() {
ContactStore.unlisten(this.onChange);
}
componentDidUpdate(prevProps) {
if (prevProps.params.id !== this.props.params.id) {
ContactActions.getContact(this.props.params.id);
}
}
onChange(state) {
this.setState(state);
}
render() {
return (
<div className='container'>
<div className='list-group'>
<div className='list-group-item animated fadeIn'>
<h4>{this.state.contact.displayname}</h4>
<img src={this.state.imageUrl} />
</div>
</div>
</div>
);
}
}
export default Contact;
mi sono imbattuto in questo problema, e non ho il codice per assistere al momento, ma quello che ho fatto è stato posto il check-in javascript componentdidmount, che cerca un errore di immagine, se si verificano, viene attivato un callback che sostituisce quell'immagine con l'immagine predefinita. –