すべてがシンプルなタイプでうまく動作しますが、オブジェクトでそれを処理することはできません。ここでngrx/storeからデータを取得
は私の減速である:
import { Action } from '@ngrx/store'
import { RssFeed } from "../rss/rss";
export interface AppState {
demoData: number;
feeds: RssFeed[];
}
const initialState: AppState = {
demoData: 0,
feeds: []
};
export const INCREMENT = 'INCREMENT';
export const DECREMENT = 'DECREMENT';
export function feedsReducer(state: AppState = initialState, action: Action): AppState {
switch(action.type) {
case INCREMENT: {
return {
demoData: state.demoData + 1,
feeds: []
}
}
case DECREMENT: {
return {
demoData: state.demoData - 1,
feeds: []
}
}
default:
return state;
}
}
app.module:
import { StoreModule } from '@ngrx/store';
import { feedsReducer } from './actions/rss';
imports: [
StoreModule.provideStore({ feeds: feedsReducer })
],
コンポーネント:
import {Store } from '@ngrx/store';
import { AppState, INCREMENT, DECREMENT } from '../actions/rss'
export class RssComponent {
state: Observable<AppState>;
constructor(private store: Store<AppState>) {
this.state = store.select('feeds');
addDemoData() {
console.log(this.state);
this.store.dispatch({type: INCREMENT})
}
私はthis.stateのコンソールにあります。
Store {_isScalar: false, _dispatcher: Dispatcher, _reducer: Reducer, source: Store, select: function…}
012私の州の代わりに
どうして ?
私はここでエラーを考える:
store.select('feeds');
を、私は()をstore.selectに渡すのか分かりません。