Skip to content

Instantly share code, notes, and snippets.

View leifarriens's full-sized avatar
🛠️

Leif Arriens leifarriens

🛠️
View GitHub Profile
export function useDebounceEffect(
effect: React.EffectCallback,
delay = 500,
deps?: React.DependencyList | undefined,
) {
useEffect(() => {
const debounce = setTimeout(() => {
effect();
}, delay);
return () => clearTimeout(debounce);
@leifarriens
leifarriens / react-use-script.js
Created July 30, 2022 04:59
React Hook to load script
function useScript(id, src, options = {}) {
const { persist = true, onLoad } = options;
const [ready, setReady] = useState(false);
useEffect(() => {
const domScript = document.getElementById(id);
if (!domScript) {
const script = document.createElement('script');
@leifarriens
leifarriens / inferPropTypes.tsx
Last active May 31, 2022 03:33
NextJS infer prop types from getServerSideProps
import type { GetServerSidePropsContext, InferGetServerSidePropsType } from 'next';
import Head from 'next/head';
const Home = ({ host }: InferGetServerSidePropsType<typeof getServerSideProps>) => {
return (
<>
<Head>
<title>Home Page</title>
</Head>