J'essaie d'écrire une combinaison de test pour ce crochet personnalisé.
export const useInitialMount = () => {
const isFirstRender = useRef(true);
// in the very first render the ref is true, but we immediately change it to false.
// so the every renders after will be false.
if (isFirstRender.current) {
isFirstRender.current = false;
return true;
}
return false;
};
Très simple, il renvoie vrai ou faux.
Comme je l'ai vu, je dois utiliser "@testing-library/react-hooks". et voici mon essai :
test("should return true in the very first render and false in the next renders", () => {
const {result} = renderHook(() => {
useInitialMount();
});
expect(result.current).toBe(true);
});
mais j'ai obtenu undefined ce qui n'a pas de sens il devrait être soit vrai soit faux.
PS : le code fonctionne comme prévu sur le projet.