title: useContext value changes on rerenders
body: <p>So I have a component that looks something like </p>
  
  <pre><code>const App = () =&gt; {
    const someContextValue = useSomeContext();  //custom hook that calls useContext
  
    useEffect(() =&gt; {
      someContextValue()
    }, [someContextValue]);
  
    return &lt;div /&gt;
  }
  </code></pre>
  
  <p>Whenever the component rerenders, the useEffect is triggered even though someContextValue hasn't really changed. </p>
  
  <p>I got around this by using useMemo like</p>
  
  <p><code>const someContextValue = useMemo(useSomeContext, [useSomeContext])</code></p>
  
  <p>Now someContextValue doesn't change on rerenders. But I feel like this isn't quite right. What would be the right way to do this?</p>