У меня проблема вроде
Невозможно добавить свойство X, объект не расширяемый
после обновления моего angular проекта до angular 9 с помощью Ngrx обновить также. Когда я откатываю Ngrxversion до 8, он работает нормально. Но мне нужно обновить это до v9 с angular 9 обновлениями. Это произошло, когда я добавил это как datasource.data в таблицу материалов с дополнительным атрибутом. Я думаю, что дополнительное изменение атрибута является причиной этого. Но я создаю новый массив из того, что мы получили и опробовали, как показано ниже, используя slice.
myDataArray.slice(0)
Он также не работает.
Я ссылаюсь на список изменений Ngrx версии 8 на 9 и миграцию руководство здесь https://ngrx.io/guide/migration/v9
Как я обнаружил, существует специальное изменение, связанное с неизменяемостью, с angular 9. Они определили там логику неизменности, связанную с действием, состоянием и сериализуемостью c. И я попробовал метод, который они предложили, чтобы решить эти проблемы с обновлением Ngrx V9 здесь https://ngrx.io/guide/store/configuration/runtime-checks
Но они не работают для меня. Это действительно полезно, если у кого-то есть решение этой проблемы. Заранее спасибо ..
трассировка стека ошибок .. (Я также использовал matDataFlatner, где происходит мутация объекта)
app-error-handler.ts: 30 TypeError: Cannot добавить уровень свойства, объект не является расширяемым в MatTreeFlattener.defaultFlattenerTransform [as transformFunction] (tree-table-flattener-builder.ts: 57) в MatTreeFlattener._flattenNode (flat-data-source.ts: 58) в flat-data-source .ts: 81 в Array.forEach () в MatTreeFlattener._flattenChildren (flat-data-source.ts: 78) в MatTreeFlattener._flattenNode (flat-data-source.ts: 65) в flat-data-source.ts: 92 в Array.forEach () в MatTreeFlattener.flattenNodes (flat-data-source.ts: 92) в MatTreeFlatDataSource.set (flat-data-source.ts: 138)