title: useEffect renders more than once even with empty dependency list
body: <p>Here is my useEffect code block:</p>
  
  <pre><code>useEffect(() =&gt; {
      const checkNextEmailTime = async () =&gt; {
        const result = await agent.ContactCustomer.nextEmailTime();
  
        const now = new Date();
        const change = new Date(result);
  
        if(change &gt; now) {
          setNextEmail(dateFormat(result, 'h:MM TT'));
          setEmailPendingWarning(true);
        } else {
          setNextEmail('');
          setEmailPendingWarning(false);
        }
  
        setTimeout(checkNextEmailTime, 60000);
      }
  
      checkNextEmailTime();
    }, [])
  </code></pre>
  
  <p>I would expect to see this only ping my server every 60 seconds, yet what I am seeing is it will make a request from the server, wait 60 seconds, request again, then about 10 seconds later I see another request come in. This then repeats every 60 seconds.</p>
  
  <p>As far as I know, this functional component only gets loaded one time.</p>
  
  <p>Any ideas?</p>
  
  <p>Thanks!</p>