import queryString from 'query-string';

function transitionToParams(params) {
  const location = this.props.location;
  let query = location.query;
  if (query === undefined)
    query = queryString.parse(location.search);

  const allParams = Object.assign({}, query, params);
  const keys = Object.keys(allParams);

  let url = location.pathname;
  if (keys.length) {
    url += `?${keys.map(key => `${key}=${encodeURIComponent(allParams[key])}`).join('&')}`;
  }

  this.props.history.push(url);
}

export default transitionToParams;

@@ -383,80 +383,39 @@
 %60?$%7B
-keys.map(key =%3E %60$%7Bkey%7D=$%7BencodeURIComponent(allParams%5Bkey%5D)%7D%60).join('&'
+queryString.stringify(allParams
 )%7D%60;

Use queryString.stringify instead of by-hand gluing