DEV Community

José Wheelock
José Wheelock

Posted on • Edited on

Design Pattern React : The State Initialiser

Ce design pattern permet de déporter la gestion du state dans un custom hook.

On peut l'implémenter en 3 étapes simple:


Step 1 : Définition du defaultState

Soit dans une const ou directement au niveau de l'argument de la fonction

const defaultState = 0;

ou

const useCounter = (initValue = 0) => {}

Step 2: Création du Hook Custom


const useCounter = (initValue = defaultState) => {
  const [count, setCount] = useState(initValue);

  const add = () => setCount(count + 1);

  const reset = useCallback(() => {
    setCount(initValue);
  }, [initValue]);

  return [count, add, reset];
};

Enter fullscreen mode Exit fullscreen mode

Ici on utilise la mémoïsation (useCallback) et on retourne un tableau.


Step3: Utilisation du Hook Custom

Comme avec useState, on va spread le tableau de notre useCounter et y'a plus cas.

const [count, add, reset] = useCounter();



Top comments (0)