Я немного искал, но, похоже, не нашел ответа. Я новичок в Angular, для этого проекта я работаю над интернет-магазином, я использовал учебник, но столкнулся с ошибкой.
import { select, Store } from '@ngrx/store';
import { GetItems } from '../store/actions';
import { Product } from '../product/product.component';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss']
})
export class HomeComponent implements OnInit {
constructor(private store: Store<{ items: Product[]; cart: [] }>) {
store.pipe(select('shop')).subscribe(data => (this.items = data.items));
}
items: Product[] = [];
ngOnInit() {
this.store.dispatch(new GetItems());
}
}
полученная ошибка:
src / app / home / home.component.ts: 13: 25 - ошибка TS2769: перегрузка не соответствует этому вызову. Перегрузка 1 из 8, '(mapFn: (состояние: {items: Product []; корзина: [];}, реквизиты: неизвестно) => неизвестно, реквизиты ?: неизвестно): (источник $: наблюдаемый <{items: Product []; cart: [];}>) => Observable ', выдал следующую ошибку. Аргумент типа «магазин» не может быть присвоен параметру типа (состояние: {items: Product []; cart: [];}, реквизиты: unknown) => unknown '. Перегрузка 2 из 8, '(ключ: "items" | "cart"): (source $: Observable <{items: Product []; cart: [];}>) => Observable <[] | Продукт []> ', выдал следующую ошибку. Аргумент типа "shop" не может быть присвоен параметру типа "items" | "корзина" '.
13 store.pipe (select (' shop ')). subscribe (data => (this.items = data.items)); ~~~~~~
src / app / home / home.component.ts: 13: 71 - ошибка TS2339: свойство 'items' не существует для типа 'unknown'.
13 store.pipe (select ('shop')). Subscribe (data => (this.items = data.items));
Кажется, я не могу найти проблему. Даже запуск приложения доставляет мне трудности. Иногда он начинается в одном go, иногда мне нужно попробовать 5 раз. Но странно то, что в тот момент, когда он начинается, все работает как целое, но с ошибками в моем CMD.
Я чувствую, что с моим ngrx / store что-то не так.