window.location, we have some functions to create atoms.
Install
You have to installjotai-location to use this feature.
atomWithLocation
atomWithLocation creates a new atom that links to window.location.
Typically, you should only instantiate atomWithLocation once per application. This is because changes made to one instance might not be reflected in others.
As this atom is designed to synchronize with the window.location object, using multiple instances can lead to unpredictable behavior.
Parameters
options (optional): an object of options to customize the behavior of the atomOptions
preloaded (optional): preloaded location value to avoid getting location at initialization. replace (optional): a boolean to indicate to usereplaceState instead of pushState.
getLocation (optional): a custom function to get location value.
applyLocation (optional): a custom function to set location value.
subscribe (optional): a custom function to subscribe to location change.
Examples
atomWithHash
Parameters
key (required): a unique string used as the key when syncing state with localStorage, sessionStorage, or AsyncStorage initialValue (required): the initial value of the atom options (optional): an object of options to customize the behavior of the atomOptions
serialize (optional): a custom function to serialize the atom value to the hash. Defaults toJSON.stringify.
deserialize (optional): a custom function to deserialize the hash to the atom value. Defaults to JSON.parse.
subscribe (optional): custom hash change subscribe function
setHash (optional): replaceState or a custom function that describes how hash gets updated on the side of the browser. Defaults to pushing a new entry to the history via window.location.hash = searchParams