在ngrx/Store reducer中使用其他Angular11服务作为初始状态可以通过以下步骤实现:
以下是一个示例代码:
// initial-data.service.ts
import { Injectable } from '@angular/core';
import { OtherService } from './other.service';
@Injectable()
export class InitialDataService {
constructor(private otherService: OtherService) {}
getInitialState() {
// 在这里执行逻辑来获取初始状态数据
// 可以使用其他服务的方法,订阅Observable对象或执行异步操作等
const data = this.otherService.getData();
// 对获取到的数据进行处理(可选)
const processedData = data.map(item => ({ id: item.id, name: item.name }));
return processedData;
}
}
// reducer.ts
import { createReducer, on } from '@ngrx/store';
import { setInitialState } from './actions';
import { InitialDataService } from './initial-data.service';
const initialState = {
// 初始状态数据的字段
items: [],
loading: false
};
export const reducer = createReducer(
initialState,
on(setInitialState, (state, { data }) => {
// 在这里更新应用的状态
return {
...state,
items: data,
loading: true
};
})
);
export function rootReducer(state, action) {
return reducer(state, action);
}
请注意,这只是一个示例,实际实现时需要根据具体需求和应用架构进行相应的调整和扩展。
推荐的腾讯云相关产品:腾讯云函数(云原生无服务器计算服务),详情请参考:腾讯云函数
希望以上信息能帮助到您!
领取专属 10元无门槛券
手把手带您无忧上云