Angularngrx中对象的值丢失
创始人
2024-10-28 18:00:38
0

使用不可变数据结构和深层复制解决该问题。

示例代码:

  1. 安装不可变数据库Immutable.js

    npm install immutable

  2. 创建不可变State

    import { Map } from 'immutable';

    export interface State { myObject: Map; }

  3. 针对不可变state更新

    import { Map } from 'immutable'; import { Action } from '@ngrx/store';

    export function reducer(state: Map, action: Action) { switch (action.type) { case 'UPDATE_MY_OBJECT': { const myObject = state.get('myObject').set('key', 'value');

       return state.set('myObject', myObject);
     }
     default: {
       return state;
     }
    

    } }

  4. 深层复制

    import { Injectable } from '@angular/core';

    @Injectable() export class MyService { private originalState = { myObject: { key: 'value' } };

    // Get a copy of the original state getInitialState() { return JSON.parse(JSON.stringify(this.originalState)); } }

在这个示例中,我们使用了Immutable.js创建了不可变状态,以及使用了深层复制来避免原始状态被修改。我们建议在编写具有Angular ngrx的应用程序时使用此类技术,以避免对象的值丢失。

相关内容

热门资讯

AI教程!wepower线上游... AI教程!wepower线上游戏发牌机制规律(wepoke辅助德之星)wepOke(就是真的有挂);...
微扑克辅助挂!微扑克有计算器(... 微扑克辅助挂!微扑克有计算器(透视辅助)果然存在有挂是一款可以让一直输的玩家,快速成为一个“必胜”的...
重大通报!血战到底有外 挂么(... 重大通报!血战到底有外 挂么(辅助)好像真的是有挂(2021已更新)(哔哩哔哩)该软件可以轻松地帮助...
五分钟了解!poker wor... 五分钟了解!poker world有挂吗,掌中乐游戏中心辅助器,2025新版教程(有挂脚本);1、全...
AA德州教程!wepower有... AA德州教程!wepower有辅助软件(wepoke插件)wEPOKE(的确真的有挂);值得一提的是...
微扑克辅助软件!微扑克有辅助,... 微扑克辅助软件!微扑克有辅助,微扑克真是有挂,wpk教程(有挂解说)1、这是跨平台的微扑克黑科技,在...
九分钟了解!乐逍遥跑胡子有挂吗... 九分钟了解!乐逍遥跑胡子有挂吗,欢乐龙城3外挂是真的么,详细教程(有挂实操);1.欢乐龙城3外挂是真...
玩家必备教程!天天麻将川南纸牌... 玩家必备教程!天天麻将川南纸牌助赢神器购买(透视辅助)一直是真的有挂(2026已更新)(哔哩哔哩)1...
wepokeai代打的胜率!w... wepokeai代打的胜率!wepoke辅助挂(辅助透视)wepower(一般真的有挂);小薇(透视...
微扑克ai机器人!微扑克可以用... 微扑克ai机器人!微扑克可以用模拟器,微扑克wpk真的有辅助(一贯是有挂)是一款可以让一直输的玩家,...