ReactのuseEffectを使ってAPIからデータを取得して直ぐに参照しようとすると、値が取得されておらずにnullになっていることがあります。 その原因と対処方法について記載します。 useEf…
Create React Appで作成したアプリケーションでSVG形式のロゴ等をクリック可能な要素として読み込む方法です。
HTMLのimgタグではonClick属性は無いため、クリック可能な要素として読み込むことは出来ません。
ReactComponentとして読み込むことでクリック可能な要素として読み込みます。
コンポーネントとしてSVGファイルを読み込む
ReactではReactComponentとしてSVGファイルを読み込むことが出来ます。
ポイントはimport時にReactComponent as Logo
とReactComponentとして扱うことです。
import { ReactComponent as Logo } from './logo.svg'; function App() { return ( <div> {/* Logo is an actual React component */} <Logo onClick={handleClick} /> </div> ); }
参考
imgタグで読み込む
アイコンやロゴとして表示するだけであれば、HTMLのimgタグで読み込みます。
Create React Appのテンプレートの場合は、ルートにpublic
ディレクトリが作成されるので、その中にsvgファイル(sample.svg)を配置します。
あとは、以下の通りルートからのパス指定でsvgファイルを指定することで表示可能です。
<img src="/sample.svg" />
コメントを書く