Не удалось найти современный пример того, как обновить текущие параметры запроса URL-адреса без определения, поэтому я написал это для будущего ссылки:
// Get current URL const url = new URL(window.location.href); // Update or remove a param colors.length ? url.searchParams.set('colors', colors.length.join()) : url.searchParams.delete('colors'); // Now update the current URL window.history.replaceState(null, '', url);
URL API делает это так просто.
Что творится:
- Получает текущий URL
- Добавляет/удаляет парам не влияя на какие -либо существующие параметры запроса и с бесплатным кодированием
- Обновляет текущий URL без перезагрузки страницы или добавления бесполезной истории
Оригинал: “https://dev.to/jfbrennan/update-current-urls-query-params-non-destructively-2l03”