Angular Ngrx 信号存储需要类型注释错误

问题描述 投票:0回答:1

我正在使用 Angular 18 和

@ngrx/signals
编写信号存储:
^17.2.0
, 代码返回给我这个错误:

error TS2742: The inferred type of 'x' cannot be named without a reference to '../../../../../../../node_modules/@ngrx/signals/src/deep-signal'.
This is likely not portable. A type annotation is necessary.

该错误仅在使用usenested对象时出现;使用非嵌套对象 - 它可以工作。

代码:

import { signalStore, withState } from '@ngrx/signals';
import { SidebarSettingsState} from '../types';

const initialState: SidebarSettingsState = {
  theme: 'sidebar-dark',
  collapsed: false,
  logo: {
    theme: 'bg-blue',
  },
};

export const SidebarSettingsStore = signalStore(
  withState<SidebarSettingsState>(initialState)
);

我尝试了很多东西,ChatGPT、TabNine 以及添加类型 any,但是这些都存在模板无法访问数据的问题。

angular signals ngrx
1个回答
0
投票

我尝试升级到 Angular 18,但是 "@ngrx/store": "^17.2.0" 包似乎与 Angular 18 不兼容。所以我正在等待 @ngrx/store 发布新版本。升级到 Angular 18。

© www.soinside.com 2019 - 2024. All rights reserved.