diff --git a/packages/urlstate/useUrlStateBase/useUrlStateBase.ts b/packages/urlstate/useUrlStateBase/useUrlStateBase.ts index e852598..fa3e1b1 100644 --- a/packages/urlstate/useUrlStateBase/useUrlStateBase.ts +++ b/packages/urlstate/useUrlStateBase/useUrlStateBase.ts @@ -92,14 +92,14 @@ export function useUrlStateBase( ...value, }; - setState(newVal); - const qStr = stringify(newVal, getOtherParams(defaultState)); const newUrl = `${window.location.pathname}${qStr.length ? "?" : ""}${qStr}${window.location.hash}`; const currUrl = `${window.location.pathname}${window.location.search}${window.location.hash}`; if (newUrl === currUrl) return; + setState(newVal); + const { replace, ..._rest } = options || {}; queue.current.push([replace ? "replace" : "push", newUrl, _rest]); @@ -122,6 +122,7 @@ export function useUrlStateBase( const reset = React.useCallback( (options?: Options) => { + setState(defaultState); updateUrl(defaultState, options); }, [updateUrl, setState],