有没有什么方法可以在Redux Toolkit的Next js中使用localStorage.getItem?

4xy9mtcn  于 2023-08-04  发布在  其他
关注(0)|答案(1)|浏览(82)

我在redux工具包切片中使用了localStorage.setItem(),它可以正常工作,但是当我想在侧边的redux工具包切片中使用localStorage.getItem()时,它就不工作了,它说本地存储没有定义

import { createSlice } from "@reduxjs/toolkit";

const users=localStorage.getItem('users')!==null ?JSON.parse(localStorage.getItem("users")):[];
const initialState = { value: users };
const Users = createSlice({
  name: "users",
  initialState,
  reducers: {
    addUser: (state, action) => {
      state.value.push(action.payload);
      localStorage.setItem("users",JSON.stringify(state.value.map(item=>item)))
    },},});

export const { addUser} = Users.actions;
export default Users.reducer;

字符串
但上面写着

okxuctiv

okxuctiv1#

首先,尝试使用redux-persist,它是localstorage的redux抽象。如果由于任何原因你不能使用它,请在使用localsotarge之前检查窗口是否已定义。

if(window !== 'undefined'){
// do tome smth...
}

字符串

相关问题