Proyectos de Subversion LeadersLinked - SPA

Rev

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

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

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

  const changeParams = (key, value) => {
    value ? params.set(key, value) : params.delete(key)
    navigate(`${pathname}?${params.toString()}`)
  }

  const getParams = () => {
    const result = {}
    for (const [key, value] of params.entries()) {
      result[key] = value
    }
    return result
  }

  return {
    setParams: changeParams,
    params: getParams() || {}
  }
}