Преобразовать строку поиска в объект запроса (после перехода на react-router v4)

После перехода на react-router 4.0 я тупо потратил слишком много времени, пытаясь понять, как получить и установить строку location.search в обычный объект запроса.

Даже после того, как наконец поняли, что они больше не обрабатывают параметры запроса (Разобрать параметры запроса в React Router v4) и перейти к URLSearchParams Тогда я не мог вспомнить, как легко извлечь объект из итератора. Ответ ниже. Надеюсь, это поможет кому-то.


person Sigfried    schedule 06.04.2017    source источник


Ответы (1)


По крайней мере, вот довольно короткий способ сделать это с помощью lodash:

const getQuery = () => {
  let qp = new URLSearchParams(location.search)
  _.fromPairs([...qp.entries()])
}

О, и теперь при отправке я вижу: Как разобрать запрос строка в react-router v4, но мой ответ получает весь объект.

person Sigfried    schedule 06.04.2017
comment
Примечание. URLSearchParams пока широко не поддерживается, например. в Эдже. См. caniuse.com/#feat=urlsearchparams. - person Ray Shan; 15.08.2017