react function running twice