fork refine

This commit is contained in:
Stefan Pejcic
2024-02-05 10:23:04 +01:00
parent 3fffde9a8f
commit 8496a83edb
3634 changed files with 715528 additions and 2 deletions

View File

@@ -0,0 +1 @@
export * from "./useIsFirstRender";

View File

@@ -0,0 +1,29 @@
import { renderHook } from "@testing-library/react";
import { useIsFirstRender } from ".";
describe("useFirstRender hook", () => {
it("should return true on first render", () => {
const { result } = renderHook(() => useIsFirstRender());
expect(result.current).toBe(true);
});
it("should return false on second render", () => {
const { result, rerender } = renderHook(() => useIsFirstRender());
rerender();
expect(result.current).toBe(false);
});
it("should return false on multiple renders", () => {
const { result, rerender } = renderHook(() => useIsFirstRender());
rerender();
rerender();
rerender();
expect(result.current).toBe(false);
});
});

View File

@@ -0,0 +1,11 @@
import { useEffect, useRef } from "react";
export const useIsFirstRender = () => {
const firstRender = useRef(true);
useEffect(() => {
firstRender.current = false;
}, []);
return firstRender.current;
};