Next.js Изображение не отменяет загрузку изображения удалено

Я создаю клиентский поиск статей в блогах и показываю результаты в карточке с изображением. Я думаю, что это довольно простой вариант использования. Я использую Next.js и их компонент изображения для загрузки изображений.

Я делаю фильтры ввода в режиме реального времени для результатов, чтобы вы вводили изменение карточек результатов. Проблема, с которой я сталкиваюсь, заключается в том, что по мере того, как вы вводите и заменяете карточки вместе с новым изображением, браузер все еще загружает последнее изображение и вызывает задержку загрузки изображений.

Мне интересно, есть ли способ отменить запросы изображений, которые были только что удалены. Альтернативой может быть устранение фильтрации, но я хотел бы быть максимально производительным.

Вот часть моего кода.

Карты поиска

      import Image from 'next/image';
import styles from './SearchCard.module.scss';

export default function SearchCard({ data, onClick }: any) {
    return (
        <a className={styles.searchCard} onClick={onClick}>
            <Image
                src={data.image}
                width={289}
                height={152}
                alt=""
                placeholder="blur"
                blurDataURL={data.placeholderImage}
            />

            <h3>{data.title}</h3>
            <p>{data.description}</p>
        </a>
    );
}

Фильтрация в реальном времени

      const searchInitiatives = (value: string) => {
   const results = initiativesDb.search(value);
   const foundInitiatives = results.map((el: any) => el.item);
   value ? setInitiatives(foundInitiatives) : setInitiatives(defaultInitiatives);
};

результаты поиска

      
initiatives
    .filter((_, i) => i < INITIATIVES_MAX)
    .map((el, i) => (
         <SearchCard key={el.guid} onClick={handleSelect} data={el} />
    ))}

Журнал загрузки изображений

Это происходит по мере вашего типа, и результаты обновляются / фильтруются на основе вашего запроса. эти изображения в этом примере маленькие, но они влияют на время загрузки последних изображений. особенно когда вы имитируете медленное соединение.

0 ответов

Другие вопросы по тегам