Angular,ngrx在保存GET响应时遇到了问题,涉及到嵌套数组,需要将其保存到store中。
创始人
2024-11-01 18:00:55
0

要在Angular中保存嵌套数组的GET响应到ngrx store中,你可以按照以下步骤进行操作:

  1. 创建一个新的ngrx存储模块,例如data.module.ts,用于存储你的数据。
// data.module.ts

import { NgModule } from '@angular/core';
import { StoreModule } from '@ngrx/store';
import { dataReducer } from './data.reducer';

@NgModule({
  imports: [
    StoreModule.forFeature('data', dataReducer)
  ]
})
export class DataModule { }
  1. 创建一个新的ngrx reducer文件,例如data.reducer.ts,用于处理数据的状态更新。
// data.reducer.ts

import { createReducer, on } from '@ngrx/store';
import { setData } from './data.actions';

export interface DataState {
  nestedArray: any[]; // 你的嵌套数组的类型
}

export const initialState: DataState = {
  nestedArray: []
};

export const dataReducer = createReducer(
  initialState,
  on(setData, (state, { nestedArray }) => ({ ...state, nestedArray }))
);
  1. 创建一个新的ngrx actions文件,例如data.actions.ts,用于定义actions。
// data.actions.ts

import { createAction, props } from '@ngrx/store';

export const setData = createAction('[Data] Set Data', props<{ nestedArray: any[] }>());
  1. 在你的组件中,使用HttpClient来获取GET响应,并将其保存到ngrx store中。
import { HttpClient } from '@angular/common/http';
import { Component, OnInit } from '@angular/core';
import { Store } from '@ngrx/store';
import { Observable } from 'rxjs';
import { setData } from './data.actions';

@Component({
  selector: 'app-your-component',
  templateUrl: './your-component.component.html',
  styleUrls: ['./your-component.component.css']
})
export class YourComponentComponent implements OnInit {
  
  constructor(private http: HttpClient, private store: Store) { }

  ngOnInit(): void {
    this.getData().subscribe((response: any) => {
      this.store.dispatch(setData({ nestedArray: response.nestedArray }));
    });
  }

  getData(): Observable {
    return this.http.get('your-api-url');
  }
}

现在,当你的组件初始化时,它将使用HttpClient从API中获取GET响应,并将其通过setData action保存到ngrx store中。你可以在其他组件中订阅data状态,以获取更新后的嵌套数组数据。

相关内容

热门资讯

透视解迷"竞技联盟透... 透视解迷"竞技联盟透视插件"一直是真的辅助器(哔哩哔哩)1、竞技联盟透视插件有没有辅助教程、竞技联盟...
透视透视"竞技联盟辅... 透视透视"竞技联盟辅助插件"一贯真的有辅助app(哔哩哔哩)1、点击下载安装,竞技联盟辅助插件脚本分...
透视解迷"aapok... 透视解迷"aapoker破解侠是真的吗"都是是真的辅助脚本(哔哩哔哩)1、超多福利:超高返利,海量正...
透视教你"wepok... 透视教你"wepoker游戏的安装教程"果然存在有辅助方法(哔哩哔哩)小薇(辅助器软件下载)致您一封...
透视教你"we-po... 透视教你"we-poker辅助器"总是有辅助工具(哔哩哔哩)1、点击下载安装,we-poker辅助器...
透视详细"wepok... 透视详细"wepoker怎么看牌型"确实有辅助攻略(哔哩哔哩)1、玩家可以在wepoker怎么看牌型...
透视有挂"hhpok... 透视有挂"hhpoker真的假的"总是真的是有辅助攻略(哔哩哔哩)1、玩家可以在hhpoker真的假...
透视解迷"德普之星私... 透视解迷"德普之星私人局辅助免费"果然是有辅助教程(哔哩哔哩)1、玩家可以在德普之星私人局辅助免费透...
透视有挂"wpk私人... 透视有挂"wpk私人局有透视吗"都是存在有辅助插件(哔哩哔哩)1、wpk私人局有透视吗有没有辅助教程...
透视透视"wepok... 透视透视"wepokerplus作必弊"真是是有辅助脚本(哔哩哔哩)1、wepokerplus作必弊...