Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
16
rated 0 times [  23] [ 7]  / answers: 1 / hits: 39434  / 8 Years ago, fri, july 22, 2016, 12:00:00

I'm writing a module that takes article data from json and shows a large image over the article text, a hero module as they say.



I've got the data and have set it up so if there is an image, it will show that image and if there is no image in the data, it will show a default image.
Problem is that this method doesn't replace broken links to show the default image.



I'm still new to react and using state ... question is, should I be using state to check for the broken link and how do I do it?



This is how I get the data in as props in the module:



const { newsItemData: {
headline = '',
bylines = [],
publishedDate: publishDate = '',
updatedDate: updatedDate = '',
link: newsLink = '',
contentClassification: category = '',
abstract: previewText = '',
abstractimage: { filename: newsImage = '' } = {},
surfaceable: { feature: { type: featureType = '' } = {} } = {},
} = {},
wideView,
showPill,
defaultImage } = this.props;


I display the info in this way:



<div className={imageContainerClassName} style={customBackgroundStyles}>
{newsImage ? <img className=img-responsive src={newsImage} alt={headline}/> : <img className=img-responsive src={defaultImage} alt={headline}/>}
</div>


What should I do in order to also check for broken images?
I think this is all the pertinent data needed, let me know if I should show anything else.
Thanks!


More From » reactjs

 Answers
33

There is a native event for images called onerror that lets perform an action if the image cannot be loaded.


<img onError={this.addDefaultSrc} className="img-responsive" src={newsImage} alt={headline}/>

//in your component
addDefaultSrc(ev){
ev.target.src = 'some default image url'
}

[#61284] Tuesday, July 19, 2016, 8 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
ryley

Total Points: 118
Total Questions: 81
Total Answers: 102

Location: Kazakhstan
Member since Thu, Dec 23, 2021
3 Years ago
ryley questions
Thu, Sep 2, 21, 00:00, 3 Years ago
Wed, Feb 12, 20, 00:00, 4 Years ago
Wed, Oct 30, 19, 00:00, 5 Years ago
;