Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2871 | Rev 2873 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

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