Я хочу сделать мой 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
здесь - который я хочу использовать.