条件付きでレンダリングしgatsby-image
たい: モバイル用とデスクトップ用に異なる画像が必要です。だから私はそれらを交換する必要があります。
今、私はこれをやっています:
<Desktop>
{heroImage && (
<MyGatsbyImage
img={heroImage}
/>
)}
</Desktop>
<Mobile>
{heroImageXS && (
<MyGatsbyImage
img={heroImageXS}
/>
)}
</Mobile>
ここで<Desktop>
&は、ビューポートに依存する<Mobile>
メディア クエリを使用してスタイル設定されたコンポーネントです。display: block / display:none
しかし、これはここで最も効果的な解決策ですか? 私のソリューションは常に両方の画像をバックグラウンドでロードしていますか?
がなければgatsby-image
、私はこれをします:
<picture>
<source
media="(min-width: 650px)"
srcset="images/img1.png">
<source
media="(min-width: 465px)"
srcset="images/img2.png">
<img src="images/img-default.png"
alt="a cute kitten">
</picture>
...しかし、それはここで使用しないことを意味しgatsby-image
ます-私は使用したいです.