我正在使用 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 18,但是 "@ngrx/store": "^17.2.0" 包似乎与 Angular 18 不兼容。所以我正在等待 @ngrx/store 发布新版本。升级到 Angular 18。