I'm facing a problem with my project. The problem is ReferenceError: localStorage is not defined. I'm using Nextjs, and Redux with Typescript.
const storedUser: string | null = localStorage.getItem('user');
const user: DisplayUser | null = !!storedUser ? JSON.parse(storedUser) : null;
const storedJwt: string | null = localStorage.getItem('jwt');
const jwt: Jwt = !!storedJwt ? JSON.parse(storedJwt) : null;
I'm using these 2 variables user and jwt in here initialState
const initialState: AuthState = {
user: user,
jwt: jwt,
isLoading: false,
isSuccess: false,
isError: false,
}
And initialState are used in authSlice function
export const authSlice = createSlice({
name: 'auth',
initialState,
reducers: {
reset: (state) => {
state.isLoading = false;
state.isSuccess = false;
state.isError = false;
}
},
})
CodePudding user response:
If you use React.js or Next.js and you need to check if you're on the browser (can use localStorage) or on the server (can't use localStorage), check that the window variable is not undefined :
if (typeof window !== 'undefined') {
console.log('You are on the browser')
// 
