## React.useEffect

Pass a function and run it after each render, optionally pass an array of values and keep track of those values to run the effect.

Lastly return a function to clear the effect before running again and when unmounting.

    React.useEffect(() => {
      // run the effect
      return () => {
        // clear the effect
      };
    }, [valueToListen]); // set values to keep track of