使用immutability-helper,如何在不克隆其他字段的情况下设置类实例的属性?

时间:2019-01-02 09:12:39

标签: javascript reactjs typescript redux immutability-helper

这里是一个例子:

class ExampleClass {
    private x: number;
    private ary: number[];

    constructor(x, ary = []) {
        this.x = x;
        this.ary = ary;
    }

    public getX() {
        return this.x;
    }

    public setX(x) {
        this.x = x;
    }
}

const elemArray = [new ExampleClass(10, [10, 20]), new ExampleClass(20, [20, 30])];

我想使用elemArray函数将x的第二个元素setX设置为30。最简单的方法是:

const newElemArray = update(elemArray, {1: {$apply: function (x: ExampleClass) {
    const y = _.cloneDeep(x);
    y.setX(30); 
    return y;
}}});

但是我希望能够在不克隆数组ary的情况下做到这一点,因为它本身可能很大,并且克隆可能代价很高。我该怎么办?

谢谢

0 个答案:

没有答案