title: useEffect not called in React Native when back to screen
body: <p>How are you.
  This is scenario of this issue.
  Let's say there are 2 screens to make it simple.</p>
  
  <ol>
  <li>enter A screen. useEffect of A screen called.</li>
  <li>navigate to B screen from A screen</li>
  <li><p>navigate back to A screen from B.
  at this time, useEffect is not called.</p>
  
  <pre><code>function CompanyComponent(props) {
  
     const [roleID, setRoleID] = useState(props.user.SELECTED_ROLE.id)
  
     useEffect(()=&gt;{ 
  
   // this called only once when A screen(this component) loaded,  
   // but when comeback to this screen, it doesn't called
     setRoleID(props.user.SELECTED_ROLE.id)
   }, [props.user])
  }
  </code></pre></li>
  </ol>
  
  <p>So the updated state of Screen A remain same when comeback to A screen again (Not loading from props)</p>
  
  <p>I am not changing props.user in screen B.
  But I think    <code>const [roleID, setRoleID] = useState(props.user.SELECTED_ROLE.id)</code> this line should be called at least.</p>
  
  <p>I am using redux-persist. I think this is not a problem.
  For navigation, I use this</p>
  
  <pre><code>// to go first screen A, screen B
  function navigate(routeName, params) {
      _navigator.dispatch(
          NavigationActions.navigate({
              routeName,
              params,
          })
      );
  }
  // when come back to screen A from B
  function goBack() {
      _navigator.dispatch(
          NavigationActions.back()
      );
  }
  </code></pre>
  
  <p>Is there any callback I can use when the screen appears?
  What is wrong with my code?</p>
  
  <p>Thanks</p>