next/legacy/image
画像の表示を最適化するNext.jsのComponent
Next.js v10から入った
v13で新しいnext/imageに変わった
docs
next/imageとの違い
https://nextjs.org/docs/api-reference/next/legacy/image#comparison
propsがいくつか削除された
layout
objectFit
objectPosition
Intersection Observerの削除
next.config.jsの設定
images.comaings
https://nextjs.org/docs/basic-features/image-optimization#configuration
外部Domainの画像を最適化する場合は事前にdomainを設定しておく
Next.jsのpublicディレクトリにある画像は不要
自動化できないの #??
セキュリティ的に良くないのかなmrsekut.icon
追加したら再起動しないといけない
してないとこんなエラーが出る
code:error
Unhandled Runtime Error
Error: Invalid src prop (https://hogehoge.com/.jpg) on next/image, hostname "hogehoge.com" is not configured under images in your next.config.js
See more info: https://err.sh/next.js/next-image-unconfigured-host
deviceSizesはなに #??
#??
styled-componentsでwrapすると型が消える
height/widthを指定しなくてもエラーが出ない..
こうすればいけた
code:ts
const BannerImage = styled(Image)<ImageProps>
「実際に表示しているサイズよりも大きなサイズのデータが欲しい」とき、どうすればいいか?
実際に表示しているサイズが50pxで、実際に取得するデータも50pxにすると、画像が荒くなってしまう
なので、取得するデータは150pxで、styleで50px表示、とかにしたい
内部で、最適化ロジックでやっていること
https://zenn.dev/saitoeku3/articles/read-next-image
https://www.forcia.com/blog/001561.html
https://github.com/vercel/next.js/blob/canary/packages/next/client/image.tsx
該当コード
参考
Next.jsのnext/imageコンポーネントの使い方と注意点
Next.js 10 の新機能 next/image のオプション全部触ってみる│FORCIA CUBE│フォルシア株式会社
どういう問題を解決するか、一つ一つのpropsの説明、生成されるHTMLについてなど