https://fullstack-coder.com/difference-between-useeffect-and-usestate-hooks/