开发者问题收集

即使“entities”包含数据,ngrx 也会显示“Typeerror:entities.reduce 不是函数”错误

2021-11-22
872

我第一次尝试使用 ngrx 实体数据服务

API 调用正在进行中,我正在接收预期的数据 返回实体数组

但是当 ngrx 尝试处理它时,它会收到错误减少方法 在此处输入图片说明

我检查过其他类似的问题:

但还没有找到导致这种情况的原因。

响应包含 id 并且不是未定义,我该如何解决这个问题?

由于错误发生在 ngrx 内部,我不确定我的代码的哪一部分可以帮我解决这个问题。

2个回答

确保将响应映射为数组。这将解决您的问题:

示例:

@Injectable()
export class ForReportsDataService extends DefaultDataService<any> {


    constructor(http:HttpClient, httpUrlGenerator: HttpUrlGenerator, private dataService: DataService) {
        super('forReport', http, httpUrlGenerator);
    }

    getAll(): Observable<any> {
        return from(this.dataService.GET("/api/reports").pipe(     // map here
            map(res => res["items"])                               // map here
        ));
    }

}
Parth Developer
2023-01-30

当结果包含对象数组和另一个数据时会发生这种情况,因此必须映射数据 - http://github.com/ngrx/platform/issues/2434#issuecomment-751560440

Mauricio Gracia Gutierrez
2022-10-18