我正在使用 ngrx-store-localstorage 将我的商店保存在 Angular 17 项目中的 localstorage 中,使用新的独立方法。
这就是我配置元减速器的方式:
export function localStorageSyncConfig(): LocalStorageConfig {
return {
keys: ['identity'], // Replace with your actual state key
rehydrate: true,
};
}
export function localStorageSyncReducer(reducer: any): any {
return localStorageSync(localStorageSyncConfig())(reducer);
}
这是我的 app.config.ts:
export const appConfig: ApplicationConfig = {
providers: [
provideRouter(routes),
provideClientHydration(),
provideStore(localStorageSyncReducer(IdentityReducer)),
provideEffects([IdentityEffect]),
provideStoreDevtools({
maxAge: 25,
logOnly: !isDevMode(),
autoPause: true,
trace: false,
traceLimit: 75,
}),
],
};
我错过了什么??
尝试在本地存储配置中添加
checkStorageAvailability
我认为对于 SSR,您会收到此错误,因为服务器上不存在
window
!
export function localStorageSyncConfig(): LocalStorageConfig {
return {
keys: ['identity'], // Replace with your actual state key
rehydrate: true,
checkStorageAvailability: true, //<- changed here!
};
}
export function localStorageSyncReducer(reducer: any): any {
return localStorageSync(localStorageSyncConfig())(reducer);
}