title: history.listen doesn't fire as I expected
body: <p>When using <code>history.listen</code>, I found it was fired AFTER <code>componentDidMount</code> of my children's component. After Google it, I found this <a href="https://github.com/ReactTraining/react-router/issues/6525" rel="nofollow noreferrer">issue</a>.</p>
  <p>By following the suggestion of the contributor, the <code>history.listen</code> fired indeed BEFORE the <code>componenDidMount</code> of my children component. But at the same time, I found the <code>history.listen</code> just does NOT fire anymore when navigating between my children's components. This behavior is not mentioned by the lib contributor and is not what I expected to happen.</p>
  <p>Reproduce Link: <a href="https://codesandbox.io/s/unruffled-rain-q453q?file=/src/index.js" rel="nofollow noreferrer">https://codesandbox.io/s/unruffled-rain-q453q?file=/src/index.js</a></p>
  <p>I think I must doing something wrong and because the contributor said it is expected because of the React mechanism.</p>
  <p>So here I want to know what's the specific React mechanism is about for routing and know the right way to fulfill my requirement.</p>
  <p>Just to be clear, my requirement is when the parent component registers a <code>history.listen</code>:</p>
  <ol>
  <li>it should Fire whenever the URL changes, no matter what sync or async.</li>
  <li>it should fire AFTER the componentDidMount of its children component.</li>
  </ol>
  <p>Could anyone help me, please?</p>