Search
 
SCRIPT & CODE EXAMPLE
 

JAVASCRIPT

hook usePreloadImages

import { useEffect } from 'react';

declare global {
  interface Window {
    usePreloadImagesData?: Record<string, unknown[]>;
  }
}

export const usePreloadImages = (imageSrcs: string[]): void => {
  useEffect(() => {
    const randomStr = Math.random().toString(32).slice(2) + Date.now();
    window.usePreloadImagesData = window.usePreloadImagesData ?? {};
    window.usePreloadImagesData[randomStr] = [];
    for (const src of imageSrcs) {
      // preload the image
      const img = new Image();
      img.src = src;
      // keep a reference to the image
      window.usePreloadImagesData[randomStr].push(img); 
    }
    return () => {
      delete window.usePreloadImagesData?.[randomStr];
    };
  }, [ imageSrcs ]);
};
Comment

PREVIOUS NEXT
Code Example
Javascript :: palindrome string js 
Javascript :: How to remove CSS file using JavaScript 
Javascript :: sort method js 
Javascript :: what is regular expression in javascript 
Javascript :: how to send dm to every member in discord with discord.js 
Javascript :: puppeteer waitforselector 
Javascript :: how to get the lower triangular matrix out of a matrix matlab 
Javascript :: post object 
Javascript :: slice() in js 
Javascript :: es6 modules node 
Javascript :: sort array ij js 
Javascript :: column cannot be cast automatically to type bigint postgres sequelize 
Javascript :: regex match between quotes without escape 
Javascript :: javascript find first element of array 
Javascript :: angular get route last segment 
Javascript :: if text is present make div hide 
Javascript :: javascript match 
Javascript :: js compare tow object values 
Javascript :: universal mobile number regex 
Javascript :: fullscreen api 
Javascript :: get search value from reacr route 
Javascript :: javascript how-do-i-check-whether-a-checkbox-is-checked-in-jquery 
Javascript :: Object.create Polyfill 
Javascript :: next js generate pdf 
Javascript :: javascript assign multiple variables to same value ES6 
Javascript :: how to make array empty 
Javascript :: readmore jquery plugin 
Javascript :: side effect, useEffect, return 
Javascript :: json parse 
Javascript :: changing map style react-leaflet 
ADD CONTENT
Topic
Content
Source link
Name
9+5 =