【发布时间】:2018-08-08 10:05:02
【问题描述】:
我正在使用 @ngrx/store 开发 Angular 5 项目。 将ngrx/store集成到我的应用程序的方法如下。
我有包含商店的 CoreModule。在 store 目录中,有名为 search 和 user 的目录,还有 reducer.ts 和 index.ts。
src - app - core - store - user (index, reducer, actions, selectors)
- search (index, reducer, actions, selectors)
- reducers.ts
- index.ts
reducers.ts
export interface AppState {
search: Search;
user: User;
}
export let AppReducers: ActionReducerMap<AppState> = {
search: searchReducer,
user: userReducer
};
export let AppActions = [SearchActions,UserActions];
index.ts
@NgModule({
imports: [
StoreModule.forRoot('AppReducers')
],
providers: [],
declarations: [],
exports: []
})
export class CoreStoreModule {};
为了将 CoreStoreModule 集成到根模块中,我是按照这种方式进行的。
在core目录下的index.ts中
@NgModule({
imports: [
CoreStoreModule,
],
declarations: [
],
exports: [
CoreStoreModule,
],
providers: [
...APP_SERVICES,
]
})
export class CoreModule {
}
以及根模块的app.module.ts
@NgModule({
imports: [
BrowserModule,
HttpModule,
FormsModule,
CoreModule,
RouterModule.forRoot(routes, {useHash: true})
],
declarations: [
AppComponent
],
bootstrap: [AppComponent],
providers: []
})
export class AppModule {
}
platformBrowserDynamic().bootstrapModule(AppModule);
我在编译时没有遇到任何错误,但 reducer 从不工作,调度操作时没有任何反应。我使用的库是
"@ngrx/core": "^1.2.0",
"@ngrx/store": "^5.1.0",
"@angular/core": "^5.2.0",
提供有关如何使用ngrx/store 5 的信息的文档不多。有人可以提供一些有关它的信息吗?如何将 @ngrx/store 集成到 Angular 5 项目中?
【问题讨论】: