通常のhtmlにおいては、onerrorハンドラにてリンク切れのimgタグを非表示にできます。
<img src="original.png" alt="title" onerror="this.style.display='none'"/>
reactではこれができないため、以下のようにonError
ハンドラを作成します。
<img src={`${process.env.PUBLIC_URL}/logo192_.png`} onError={e => e.target.style.display = 'none'} />
サンプル
🚀以下のサンプルは、create-react-app
直後のApp.js
を編集したものです。
App.js
import React from 'react';
function App() {
return (
<div className="App">
<img border="1" src={`${process.env.PUBLIC_URL}/logo192.png`} />
<img border="1" src={`${process.env.PUBLIC_URL}/logo192_.png`} />
<img border="1" src={`${process.env.PUBLIC_URL}/logo192_.png`} onerror="this.style.display='none'" />
<img border="1" src={`${process.env.PUBLIC_URL}/logo192_.png`} onError={e => e.target.style.display = 'none'} />
</div>
);
}
export default App;
参考
📖Hide broken image link in Semantic UI React
📖リンク切れの時に代替画像を表示したいときはこちら。