はしばみあきら blog

プログラミングアウトプットするブログ。202010スタート

【React】public以下に画像を保存して、表示させる

Reactで画像を表示させる時どうすればいいんだろう?
と、検索したらジャストナウの答えがすぐ見つかりました。感謝の日々です...

参考サイト

React で publicフォルダ内の静的ファイル(画像)を参照する方法

表示方法

publicのパスは

{`${process.env.PUBLIC_URL}/ ファイル名 `}

これで辿れるみたいです

試しに create-react-app で元々保存されているアイコンを表示してみます

 render(props) {
   return (
     <div className="App">
       <header className="App-header">
         <img src={logo} className="App-logo" alt="logo" />
         <h1 className="App-title">Hello {this.state.text}</h1>
         <span onClick={()=>{this.handleClick("World")}}>world</span>
         <span onClick={()=>{this.handleClick("React")}}>react</span>

        {/* この部分 */}
       <Image image={`${process.env.PUBLIC_URL}/logo192.png`}/>
       </header>
     </div>
   );
 }

ブラウザは以下のように

f:id:hashibamiakira:20201123115319p:plain

アイコンが表示された!
HTMLだとimgタグでパスの指定してあげるだけなんだけど、別の言語でそれができると感動を覚えます

ではpublicにimageフォルダを作り指定してみます

App.js Image.js 画像ファイルはこんな感じ

f:id:hashibamiakira:20201123115928p:plain

で、保存すると

f:id:hashibamiakira:20201123120020p:plain

思ったよりでかい!でも表示することに成功しました

画像の表示はこんな感じです。思ったより簡単

また更新していきます