【发布时间】:2021-12-27 21:23:59
【问题描述】:
我正在尝试将 redux 与 typescript 一起使用,并将状态保存到本地存储,但我在保存状态时遇到了一些困难,这是我当前的代码。我是打字脚本的新手,有人有什么建议吗
减速器
import { combineReducers } from "redux";
import user from "./user";
import account from "./account";
const allReducers = combineReducers({
user:user
account:account
});
export type RootState = ReturnType<typeof allReducers>
store.js
import { createStore } from "redux";
import {RootState} from '../reducers/index'
function saveToLocalStorage(state) {
try {
const serializedState = JSON.stringify(state);
localStorage.setItem("state", serializedState);
} catch (e) {
console.log(e);
}
}
function loadFromLocalStorage() {
try {
const serializedState = localStorage.getItem("state");
if (serializedState == null) {
return undefined;
}
return JSON.parse(serializedState);
} catch (e) {
console.log(e);
return undefined;
}
}
const savedState = loadFromLocalStorage();
const store = createStore(
RootState,
savedState,
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
);
store.subscribe(() => saveToLocalStorage(store.getState()));
export default store;
我在尝试编译代码时不断收到此错误。
Attempted import error: 'RootState' is not exported from '../reducers/index'.
【问题讨论】:
-
您不是真的打算
export const allReducers并在createStore中使用它吗?而不是通过type的allReducers? -
我实际上不确定我对 typescript 很陌生,并试图在商店中使用 typescript 我应该如何编写它
标签: reactjs typescript redux react-redux local-storage