3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

シリーズのトップは↓こちら

前回の記事は↓こちら

たまたまプライベートで人にTypeScriptでAppRouterなNext.jsを叩き込む機会がありまして、せっかくなので再びこの場をお借りしていっしょに復習します。

前前回のポイント(再掲)(抜粋)

  • npm run dev
    • (作ってる途中の)Next.jsを動かす
    • だいたいhttp://localhost:3000で見れる
  • src/app/pages.tsx
    • ここがページの内容になる
    • これからはここにオリジナリティーを出す
  • TSXでは<></>で囲むとひとまとめにできる
    • フラグメントといいます

今回のポイント

  • 画像を貼る方法はいくつかある
    • そのうち2つを紹介
      • public/画像のファイル名のように配置する方法
      • 画像をimportして使う方法
  • TSXのHTMLみたいな部分で変数や値を使うときは{}で囲む
    • これはよく使います!

画像を準備する

image.png

これでいいや、名前は短いほうが入力が楽です。

これを2箇所に置きます。
私はpublic/icon_in_public.pngsrc/app/icon_in_app.pngとしました。

共通:準備+確認

src/app/page.tsxを開きます。

src/app/page.tsx(抜粋)
import Image from "next/image";

上のほうにこの行がまだあることを確認します。この行があるからこそNext.jsらしく画像を貼れます。無ければ書いておきます。

方法その1:publicフォルダに入れる方法

src/app/page.tsx(抜粋)
  return (
    <>
      Hello World
      <Image src="/icon_in_public.png" alt="icon" width={50} height={50} />
    </>

↑このように、<></>の間のきりのいいところに、<Image src="/画像のファイル名" alt="画像の説明" width={お好みのサイズ感(幅)} height={お好みのサイズ感(高さ)} />のように書きます。幅と高さは必須です。省略できません。

方法その2:importして使う方法

src/app/page.tsx(抜粋)
import icon from './icon_in_app.png';

↑このようにimport なんか名前をつける from './画像のファイル名';

src/app/page.tsx(抜粋)
  return (
    <>
      Hello World
      <Image src={icon} alt="icon" />
    </>

↑このように、<></>の間のきりのいいところに、<Image src={さっきつけた名前} alt="画像の説明" />のように書きます。幅と高さは必須ではありません。省略できます。

TSXのHTMLみたいな部分では、変数や値を{}で囲むことによって、その場で使うことができます。

両方やってみる

src/app/page.tsx
import Image from "next/image";
import icon from './icon_in_app.png';

export default function Home() {
  return (
    <>
      Hello World
      <Image src="/icon_in_public.png" alt="icon" width={50} height={50} />
      <Image src={icon} alt="icon" />
    </>
  );
}

せっかくなので両方やってみました。

忘れずに保存して、npm run devを動かしていなければ動かして、ブラウザで確認してみます。

image.png

このような画面が出ました。画像が2つ表示されていますね🎉

今回はここまでにしました✨

今回のポイント

  • 画像を貼る方法はいくつかある
    • そのうち2つを紹介
      • public/画像のファイル名のように配置する方法
      • 画像をimportして使う方法
  • TSXのHTMLみたいな部分で変数や値を使うときは{}で囲む
    • これはよく使います!

参考

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?