Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2871 | Rev 2873 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import { useLocation } from 'react-router-dom'

export function useSearchParams() {
  const { search, pathname } = useLocation()
  const params = new URLSearchParams(search)

  const changeParams = (key, value) => {
    value ? params.set(key, value) : params.delete(key)
    const newUrl = `${pathname}?${params.toString()}`
    window.history.replaceState(null, '', newUrl)
  }

  const getParam = (param = '') => params.get(param) ?? ''

  const paramsObj = Object.fromEntries(params.entries())

  return {
    setParams: changeParams,
    params: paramsObj,
    getParam
  }
}