Preveni o funcţie de a fi apelată de prea multe ori React-Exemple de cod

Radu TM

Preveni o funcţie de a fi apelată de prea multe ori React

JavaScript de Radu TM June 16, 2022

import React, { useState, useEffect } from 'react';

function useThrottle(fn, threshhold, scope) {
  let lastFnCallTimestamp = Date.now();

  return function throttleWrapper() {
    const now = Date.now();
    if (now - lastFnCallTimestamp < threshhold) return;

    lastFnCallTimestamp = now;
    fn.apply(scope, arguments);
  }
}

// Utilizare
function MyComponent() {
  const [clicks, setClicks] = useState(0);

  function handleClick() {
    setClicks(clicks + 1);
  }

  const throttledHandleClick = useThrottle(handleClick, 1000);

  return (
    <div onClick={throttledHandleClick}>
      Acest div a fost apăsat de {clicks} ori.
    </div>
  );
}

0

47.475

Întrebări conexe JavaScript

Cele mai recente interogări JavaScript

Explorați exemplele de cod pe categorii