Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
2872 stevensc 1
import { useLocation } from 'react-router-dom'
1548 stevensc 2
 
2774 stevensc 3
export function useSearchParams() {
1548 stevensc 4
  const { search, pathname } = useLocation()
5
  const params = new URLSearchParams(search)
6
 
7
  const changeParams = (key, value) => {
8
    value ? params.set(key, value) : params.delete(key)
2872 stevensc 9
    const newUrl = `${pathname}?${params.toString()}`
10
    window.history.replaceState(null, '', newUrl)
1548 stevensc 11
  }
12
 
2872 stevensc 13
  const getParam = (param = '') => params.get(param) ?? ''
1548 stevensc 14
 
2872 stevensc 15
  const paramsObj = Object.fromEntries(params.entries())
16
 
1548 stevensc 17
  return {
18
    setParams: changeParams,
2872 stevensc 19
    params: paramsObj,
2871 stevensc 20
    getParam
1548 stevensc 21
  }
22
}