StringifyUrl с помощью query-string создает ?type=fulltime

#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