> ## Documentation Index
> Fetch the complete documentation index at: https://dynamic-docs-feat-sidebar-revamp.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# useReinitialize

<Warning>
  Available from SDK V3.0+
</Warning>

## Summary

Used to manually reinitialize the whole SDK at any point in time. It will reset not just the user state (as [useRefreshUser](/react-sdk/hooks/login-user-management/userefreshuser) does), but the whole SDK state including wallets, the primaryWallet, user state, etc.

An example of where this hook can be helpful is if you have multiple separate windows (things like a Chrome extension popup and a Chrome page for the same extension) where Dynamic is active and you want to ensure they are all in sync.

While in process, the `sdkHasLoaded` boolean on [`useDynamicContext`](/react-sdk/hooks/usedynamiccontext) will be false, and once completed, it will be true.

## Usage

```tsx
import {
  DynamicContextProvider,
  useReinitialize,
} from '@dynamic-labs/sdk-react-core';

const ReInitButton = () => {
  const reinitialize = useReinitialize();

  return (
    <button onClick={reinitialize}>Reinitialize</button>
  );
}

const App = () => {
  return (
    <DynamicContextProvider>
      <ReInitButton />
    </DynamicContextProvider>
  )
}
```
