For anyone reading this, its totally fine to for useEffect to fire twice on development environment, but once in production. Reference here
If you feel confused, make sure you read the react docs and test it out like I did to confirm