AutoUpdatingCameraImage.jsx 630 B

1234567891011121314151617181920
  1. import { h } from 'preact';
  2. import CameraImage from './CameraImage';
  3. import { ApiHost, Config } from '../context';
  4. import { useCallback, useEffect, useContext, useState } from 'preact/hooks';
  5. export default function AutoUpdatingCameraImage({ camera, searchParams }) {
  6. const apiHost = useContext(ApiHost);
  7. const [key, setKey] = useState(Date.now());
  8. useEffect(() => {
  9. const timeoutId = setTimeout(() => {
  10. setKey(Date.now());
  11. }, 500);
  12. return () => {
  13. clearTimeout(timeoutId);
  14. };
  15. }, [key, searchParams]);
  16. return <CameraImage camera={camera} searchParams={`cache=${key}&${searchParams}`} />;
  17. }