Я пытался заставить следующий код работать с использованием неизменяемого (4.0.0-r c .12) и машинописного текста (3.7.3) в рамках более крупного проекта React / Redux. Я удалил ненужный код.
interface IState {
test : boolean,
};
export const defaultValues = {
test : false,
};
const StateRecord = Record({
test : false,
})
export class State extends StateRecord {
test : boolean;
constructor(values: IState) {
super(values);
this.test = values?.test || defaultValues.test;
}
};
export const InitialState = new State(defaultValues);
Это приведет к следующей ошибке
Error: Cannot set on an immutable record.
При трассировке стека в браузере:
28 | export class State extends StateRecord {
29 | test : boolean;
30 |
> 31 | constructor(values: IState) {
32 | super(values);
33 | this.test = values?.test || defaultValues.test;
34 | }
I ' Мы пробовали много разных решений, но в конце концов эта ошибка всегда возвращается, любая помощь будет высоко ценится.