Prevent react-router history.push from reloading current route
<p>I'm taking my first steps with <code>react-router</code>. </p>

<p>I'm currently using the <code>hashHistory</code> for development purposes and I'm performing 'manual' navigation. That is to say, I'm <em>not</em> using <code>Link</code> and I'm invoking <code>history.push('/some/route');</code> in order to navigate (in response to plain old clicks on anchor tags).</p>

<p>What I'm noticing is that, even when I'm already on the target route, <code>react-router</code> will re-render the relevant target component every time <code>history.push('/target/route');</code> is invoked: On every <code>push('/target/route')</code>: </p>

<ul>
<li>the fragment part of the URL remains <code>#/target/route</code> </li>
<li>the query string part of the URL changes to <code>?_k=somethingRandom</code></li>
<li>the target component re-renders</li>
</ul>

<p>I would like for that re-rendering to <em>not</em> happen - I actually expected <code>history.push</code> to be a no-op when I'm already at the route that I'm attempting to <code>push</code>.</p>

<p>I'm apparently missing something, as this is not what's happening. Funnily enough I'm seeing posts from people who are trying to <em>achieve</em> the behaviour that I'd like to get rid of - they'd like to 'refresh' a route without leaving it, so to speak. Which looks pretty much like the opposite problem :).</p>

<p>Could you enlighten me as to what it is I'm misunderstanding and how I would achieve the desired behaviour? Is this perhaps something that would go away if (when) I switch to <code>browserHistory</code>?</p>