diff --git a/packages/next/client/components/use-reducer-with-devtools.ts b/packages/next/client/components/use-reducer-with-devtools.ts index b9c73c99ae06a..38d9dd21e3241 100644 --- a/packages/next/client/components/use-reducer-with-devtools.ts +++ b/packages/next/client/components/use-reducer-with-devtools.ts @@ -104,7 +104,20 @@ function devToolReducer( } } -export function useReducerWithReduxDevtools( +function useReducerWithReduxDevtoolsNoop( + fn: typeof reducer, + initialState: ReturnType +): [ + ReturnType, + Dispatch>, + () => void +] { + const [state, dispatch] = useReducer(fn, initialState) + + return [state, dispatch, () => {}] +} + +function useReducerWithReduxDevtoolsImpl( fn: typeof reducer, initialState: ReturnType ): [ @@ -158,3 +171,8 @@ export function useReducerWithReduxDevtools( }, [state]) return [state, dispatch, sync] } + +export const useReducerWithReduxDevtools = + typeof window !== 'undefined' + ? useReducerWithReduxDevtoolsImpl + : useReducerWithReduxDevtoolsNoop