#javascript #format #query-string #parse-url
#javascript #формат #строка запроса #синтаксический анализ-url
Вопрос:
Я использую queryString с react для изменения некоторых URL-адресов для вызовов api.
У меня следующий код
useEffect(() => {
const parsed = queryString.parseUrl(window.location.href);
console.log('parsed',parsed)
console.log(parsed.query.type=[parsed.query.type,'partime'])
parsed.query.type = []
if (fulltime) {
parsed.query.type = [...parsed.query.type, 'fulltime'];
}
if (parttime) {
parsed.query.type = [...parsed.query.type, 'parttime'];
}
setHref(queryString.stringifyUrl(parsed));
}
)
Проблема в том, queryString.stringifyUrl(parsed) //returns /?type=fulltime?type=parttime
но я хочу /?type=fulltime,parttime
Ответ №1:
пока я в отчаянии набирал этот ответ, как обычно, я сам нашел решение.
queryString.stringifyUrl(parsed, {arrayFormat: 'comma'})
мы можем добавить любой тип параметра из аргументов, которые мы используем при «синтаксическом анализе» URL-адреса, в stringifyUrlStringify