MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / useQueryState

Function useQueryState

pkg/webui/lib/hooks/use-query-state.js:29–43  ·  view source on GitHub ↗
(key, initialValue, parser = v => v)

Source from the content-addressed store, hash-verified

27 * @returns {[T, (newValue: T) => void]} - A tuple with the stateful value and a setter function.
28 */
29const useQueryState = (key, initialValue, parser = v => v) => {
30 const [searchParams, setSearchParams] = useSearchParams()
31 const [state, setState] = useState(parser(searchParams.get(key)) || initialValue)
32
33 useEffect(() => {
34 if (state === undefined || state === '') {
35 searchParams.delete(key)
36 } else {
37 searchParams.set(key, state)
38 }
39 setSearchParams(searchParams, { replace: true })
40 }, [key, state, searchParams, setSearchParams])
41
42 return [state, setState]
43}
44
45export default useQueryState

Callers 1

index.jsFile · 0.85

Calls 3

getMethod · 0.45
deleteMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected