Ngrx 选择器返回初始状态

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

我是 NgRx 新手,我的选择器返回空白初始状态,而不是使用从效果中的 API 请求获取的数据。

当我在 home.component.ts 中使用选择器时,我得到以下输出:

homepage.component - global state - books is
["", {…}, 4, true, …]
0: ""
1: Object
2: 4
3: true
4: ""

homepage.component - global state - pokemon is
["", {…}, 4, true, …]
0: ""
1: Object
2: 4
3: true
4: ""

但是效果 API 调用正在工作。

我已经设置了一个在线示例: StackBlitz 示例

只需取消注释“// Global State Calls Do Not Work”部分

任何帮助表示赞赏!我有点失落。

干杯!

编辑:

我已经修复了选择器,并且没有对 booksLoaded 操作执行任何操作。

新错误是:

没有重载与此调用匹配。 重载第 1 个(共 2 个)“(observerOrNext?: Partial | ((value: BooksState) => void) | undefined): Subscription”,出现以下错误。 '(res: Book[]) => void' 类型的参数不可分配给 'Partial | 类型的参数((值:BooksState) => void) |未定义'。

让我觉得 book.reducer 中的“Bookstate 扩展了 Book”并没有做我认为它正在做的事情......

angular rxjs ngrx
1个回答
0
投票

selectBooks
选择器不返回书籍数组,它只返回一本书。 如果你需要这是一个数组,你需要在reducer中存储一个书籍数组。

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