首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >状态(状态=> store.select)状态未定义

状态(状态=> store.select)状态未定义
EN

Stack Overflow用户
提问于 2019-07-28 10:00:29
回答 1查看 119关注 0票数 1

我正在尝试使用以下方法检索状态信息:

this.store.select(state => console.log(状态));

不幸的是,我在哪里弄错了,我不知道在哪里,如果有人能看到他,我会很感激。

下面我放了错误的代码,我要提前感谢大家的帮助。

动作

代码语言:javascript
复制
import { IWindowParameters } from "../window-parameters.interface";

/* NgRx */
import { Action } from '@ngrx/store';

export enum AppWeatherActionTypes {
    SetCurrentWindowParameters = "[App] Set Current Window Parameters"
}

// Action Creators
export class SetCurrentWindowParameters implements Action {
    readonly type: string = AppWeatherActionTypes.SetCurrentWindowParameters;

    constructor(public payload: IWindowParameters) { }
}

export type AppWeatherActions = SetCurrentWindowParameters

减速机

代码语言:javascript
复制
/* NgRx */
import { createFeatureSelector, createSelector } from '@ngrx/store';
import * as fromAction from "../actions/app-weather.action";
import { IWeatherAppState } from "../state/app-weather.state";


export const initialAppState: IWeatherAppState = {
    windowParameters: null
};


export function appReducer(state = initialAppState, action: fromAction.AppWeatherActions): IWeatherAppState {

    switch (action.type) {

        case fromAction.AppWeatherActionTypes.SetCurrentWindowParameters:
            return { ...state, windowParameters: { ...action.payload } }

    default:
        return state;
    }
}

状态

代码语言:javascript
复制
import { IWindowParameters } from "../window-parameters.interface";


export interface IWeatherAppState {
    windowParameters: IWindowParameters;
}

app.module.ts

代码语言:javascript
复制
/* NgRx */
import { StoreModule } from '@ngrx/store';
import { StoreDevtoolsModule } from '@ngrx/store-devtools';
import { environment } from '../environments/environment';
import { appReducer } from "./reducers/app-weather.reducer";

@NgModule({
  declarations: [
        AppWeather,
        WeatherMainScreen,
        WeatherView,
        WeatherPlugins,
        WeatherInfoPanel,
        MyHighlightDirective
  ],
  imports: [
    BrowserModule,
    AppRoutingModule,
      StoreModule.forRoot({ windowParameters: appReducer}),
    StoreDevtoolsModule.instrument({
        name: 'Weather Radar App DevTools',
        maxAge: 25,
        logOnly: environment.production,
    })
  ],
    providers: [
        WindowParametersService],
    bootstrap: [AppWeather]
})
export class AppModule { }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-28 11:09:55

select函数需要来自状态的切片,它可以是字符串或对象。然后该函数返回一个Observable,您可以对其执行subscribe操作。如下所示:

this.store.select('pizzas').subscribe(console.log);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57237413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档