(编辑:jimmy 日期: 2025/10/26 浏览:2)
一、案例运行后的效果图
二、关于ngrx的认识
1、官网地址
2、ngrx是借鉴redux的思维,专门为angular中定制的一个状态管理的包,类似react中的redux、vue中的vuex,主要包括以下几个模块(本文先介绍@ngrx/store)
3、需要使用ngrx的场景
三、构建项目
1、使用@angular/cli初始化项目
ng new angular-ngrx
2、创建一个数据的module(手动修改名字为AppStoreModule,不然会和@ngrx/store中的重名)
ng g m store
3、在store文件夹下创建三个文件夹
4、手动安装@ngrx/store
npm install @ngrx/store --save
5、手动安装@ngrx/store-devtools
npm install @ngrx/store-devtools --save
6、在reducers文件夹下创建index.ts(使用ng add @ngrx/store会默认生成的)
import {
ActionReducerMap,
MetaReducer
} from '@ngrx/store';
import { environment } from '../../../environments/environment';
// 项目中全部的状态
export interface State {}
// 全部的reducer函数
export const reducers: ActionReducerMap<State> = {};
export const metaReducers: MetaReducer<State>[] = !environment.production "external nofollow" target="_blank" href="https://ngrx.io/guide/store-devtools">更多配置见
@NgModule({
declarations: [],
imports: [
StoreModule.forRoot(reducers, {
metaReducers,
runtimeChecks: {
strictStateImmutability: true,
strictActionImmutability: true,
strictStateSerializability: true,
strictActionSerializability: true,
}
}),
StoreDevtoolsModule.instrument({
maxAge: 20,
logOnly: environment.production
})
]
})
export class AppStoreModule { }
四、在项目中使用@ngrx/store
1、代码的使用见github中的book组件
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。