title: why state always be 0, even after using useCallback
body: <p>I expect it should be a time counter.
  useCallback will refresh after the time change, so time will be 1 in the second time,
  but still is 0</p>
  
  <p>I tried to use useCallback but didn't work</p>
  
  <pre><code>import React, { useState, useEffect, useCallback } from 'react';
  import { render } from 'react-dom';
  import './style.css';
  
  import {interval} from 'rxjs'
  import { take } from 'rxjs/operators';
  
  const inter$ = interval(1000);
  
  function App(){
    const [time, setTime] = useState(0);
    const callback = useCallback(()=&gt; {
        setTime(time+1);
        console.log('hella');
      }, [time])
  
    useEffect(()=&gt;{
      console.log('hello')
      inter$.subscribe(callback)
  
    }, [])
  
    return &lt;div&gt;{time}&lt;/div&gt;
  }
  
  
  render(&lt;App /&gt;, document.getElementById('root'));
  </code></pre>
  
  <p>always show 1</p>
  
  <p>this is the <a href="https://stackblitz.com/edit/reactademo" rel="nofollow noreferrer">code</a></p>