03 de abril de 2021 • 1 min de leitura
De forma bem simples:
App.js
import { useState, useCallback } from "react"
import "./styles.css"
const defaultImage = require("./assets/404.png")
// image by https://www.freepik.com/storyset
const App = () => {
const [image, setImage] = useState(
"https://raw.githubusercontent.com/ValchanOficial/ValchanOficial/master/social/valchan_octocat.png"
)
const [imageWithErro, setImageWithErro] = useState(
"https://valchan.com.br/errorImage.png"
)
const setDefaultImage = useCallback(currentTarget => {
setImageWithErro(defaultImage)
currentTarget.onerror = null
}, [])
return (
<div className="App">
<img className="Image" alt="Valchan" src={image ?? defaultImage} />
<img
className="Image"
alt="Valchan"
src={imageWithErro ?? defaultImage}
onError={({ currentTarget }) => setDefaultImage(currentTarget)}
/>
</div>
)
}
export default App