"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); /* eslint-disable @typescript-eslint/no-explicit-any */ var fast_deep_equal_1 = tslib_1.__importDefault(require("fast-deep-equal")); function computedData() { var _this = this; var nextData = this.computed(this.props); // 浅比较就行了 var changedData = Object.keys(nextData).reduce(function (prev, item) { // 移除 _ $ 开头的保留 props if (item[0] === '_' || item[0] === '$') { return prev; } if (typeof nextData[item] === 'function') { return prev; } if ((0, fast_deep_equal_1.default)(_this.data[item], nextData[item])) { return prev; } // eslint-disable-next-line no-param-reassign prev[item] = nextData[item]; return prev; }, {}); if (Object.keys(changedData).length === 0) { return; } this.setData(changedData); } exports.default = { didMount: function () { computedData.call(this); }, didUpdate: function () { computedData.call(this); }, };