mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-10-23 10:13:13 +02:00
16 lines
634 B
TypeScript
16 lines
634 B
TypeScript
import { useEffect, useState } from "react";
|
|
|
|
/** Hook that returns a function for the component. Optionally set an interval to rerender the component.
|
|
* @param autoRerenderTime: Optional. If provided and nonzero, used as the ms interval to automatically call the rerender function.
|
|
*/
|
|
export function useRerender(autoRerenderTime?: number) {
|
|
const setRerender = useState(false)[1];
|
|
const rerender = () => setRerender((old) => !old);
|
|
useEffect(() => {
|
|
if (!autoRerenderTime) return;
|
|
const intervalID = setInterval(rerender, autoRerenderTime);
|
|
return () => clearInterval(intervalID);
|
|
}, []);
|
|
return rerender;
|
|
}
|