Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
2614 stevensc 1
import { useNavigate, useLocation } from 'react-router-dom'
1548 stevensc 2
 
2774 stevensc 3
export function useSearchParams() {
1548 stevensc 4
  const { search, pathname } = useLocation()
2614 stevensc 5
  const navigate = useNavigate()
1548 stevensc 6
  const params = new URLSearchParams(search)
7
 
8
  const changeParams = (key, value) => {
9
    value ? params.set(key, value) : params.delete(key)
2614 stevensc 10
    navigate(`${pathname}?${params.toString()}`)
1548 stevensc 11
  }
12
 
13
  const getParams = () => {
14
    const result = {}
15
    for (const [key, value] of params.entries()) {
2870 stevensc 16
      result[key] = value
1548 stevensc 17
    }
18
    return result
19
  }
20
 
21
  return {
22
    setParams: changeParams,
23
    params: getParams() || {}
24
  }
25
}