4466ba436b
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
21 lines
523 B
JavaScript
21 lines
523 B
JavaScript
import { useEffect, useRef } from "react";
|
|
|
|
// https://overreacted.io/making-setinterval-declarative-with-react-hooks/
|
|
const useInterval = (callback, delay) => {
|
|
const savedCallback = useRef();
|
|
|
|
useEffect(() => {
|
|
savedCallback.current = callback;
|
|
}, [callback]);
|
|
|
|
useEffect(() => {
|
|
const handler = (...args) => savedCallback.current(...args);
|
|
|
|
if (delay !== null) {
|
|
const id = setInterval(handler, delay);
|
|
return () => clearInterval(id);
|
|
}
|
|
}, [delay]);
|
|
};
|
|
|
|
export default useInterval;
|