我有一个状态:
type MyState = {
elements: ElementDTO[] | undefined,
};
还有 NGRX - 信号商店:
export const ElementStore = signalStore(
{providedIn: "root"},
withState<ElementState>(initialState),
.
.
withMethods((store) => ({
.
.
pushElement(element: ElementDTO): void {
patchState(store, {
elements: [...store.elements(), element]
});
}
})
),
)
但我收到错误:
错误 TS2488:键入 'ElementDTO[] | undefined' 必须有一个返回迭代器的 'Symbol.iterator' 方法。
这里出了什么问题?
经过几个小时的尝试,这似乎有效
pushActivation(element: ElementDTO): void {
patchState(store, {
elements: [...store.elements() as ElementDTO[], element]
});
}
奇怪的是,IntelliJ 在这一行仍然显示错误。但是,该应用程序可以编译并且似乎可以运行。 ngrx 的语法似乎是直接来自地狱!