Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
27 of 196 menu
◀ ▶

Метод prefetch

Метод prefetch компонента Image принимает строку адреса и возвращает промис. После успеха тот же uri быстрее попадает в Image на экране. Ошибку сети ловят через catch у промиса.

Синтаксис

const promise = Image.prefetch(url);

Параметры

Параметр Описание
url Строка адреса картинки, например 'https://example.com/a.png'.

Пример

Давайте предзагрузим картинку перед показом экрана:

import { useEffect, useState } from 'react'; import { Image, Text } from 'react-native'; const uri = 'https://example.com/a.png'; export default function App() { const [ready, setReady] = useState(false); useEffect(() => { Image.prefetch(uri) .then(() => setReady(true)) .catch(() => setReady(false)); }, []); if (!ready) { return <Text>abcde</Text>; } return ( <Image source={{ uri }} style={{ width: 100, height: 100 }} /> ); }

На экране сначала текст 'abcde'. После завершения prefetch появится картинка.

Пример

Давайте вызовем prefetch для нескольких адресов подряд:

import { Image } from 'react-native'; const urls = [ 'https://example.com/a.png', 'https://example.com/a.png', ]; Promise.all(urls.map((url) => Image.prefetch(url))).then(() => { console.log('12345'); });

В консоли после загрузки всех адресов появится строка '12345'.

Смотрите также

  • метод getSize,
    который узнает размер картинки по адресу
  • компонент Image,
    который рисует картинку на экране
  • компонент ImageBackground,
    который кладет картинку фоном
  • компонент FlatList,
    который строит длинный список на экране
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить