Cannot add property "X", object is not extensible angular 9

Viewed 8280

I have encountered this issue on many places after some days of updating from Angular 8 to Angular 9. Earlier it was working fine.

Can anyone help me what's the problem. Example code below

list.reduce((acc, curr) => {
        const obj = {};
        obj['x'] = curr['Y'];
});
2 Answers

I refer change list of Ngrx version 8 to 9 and migration guideline here

https://ngrx.io/guide/migration/v9

As I found there is a special change related to immutability with angular 9. They have defined Action, state and serializability related immutability logic there. And I tried out the method that they have suggested to resolve those issues with Ngrx V9 update here

https://ngrx.io/guide/store/configuration/runtime-checks

@ngrx/store ships with five (5) built-in runtime checks. Try disabled all checks

If you are getting this error after using NgRx in Angular. Try implementing below code it will help on a global level. Otherwise you can utilize deep cloning of Object or Array to eradicate the problem.

@NgModule({
  imports: [
  StoreModule.forRoot(reducers, {
    runtimeChecks: {
      strictStateImmutability: false,
      strictActionImmutability: false,
    },
  }),
 ],
})
export class AppModule {}
Related