title: React Router Query Parameters
body: <p>I have a React application which is using <code>react-router</code> v2.4. I have a route defined like so:</p>
  
  <pre><code>&lt;Router history={this.props.history}&gt;
      &lt;Route path="/:organisationId/objects"
             component={ObjectsPage}
             onEnter={(state) =&gt; {
                 this.props.dispatch(objectsFetch(
                     state.params.organisationId,
                     state.location.query
                 ));
             }}
      /&gt;
  &lt;/Router&gt;
  </code></pre>
  
  <p>Essentially, this route dispatches an action to fetch some objects from an API which are then rendered in a tabular format. I would like this table to be searchable, sortable and paginated and I think it would be appropriate to store the state of the table in the URL as query parameters so it can be refreshed and browser back/forward functionality isn't broken.</p>
  
  <p>In order to update my table component I make a call to <code>browserHistory</code> with a URI similar to this (note the query parameters):</p>
  
  <pre><code>browserHistory.push('/0f08ac61-ddbd-4c73-a044-e71b8dd11edc/objects?page=2&amp;search=query&amp;sort=firstname|desc');
  </code></pre>
  
  <p>However, this doesn't trigger <code>react-router</code> into thinking the route has updated as the <code>onEnter</code> callback is never fired even though the browser history is updated with the new query string. I think I understand why this is happening; since the query string isn't part of the defined route I guess the package won't pick the change up.</p>
  
  <p>Is there a way to use <code>react-router</code> with query parameters like this or will I have to make my filters part of the URI?</p>