【发布时间】:2020-04-16 07:09:47
【问题描述】:
我知道下面两个 getter 是重复的,可以合并并以更好的方式编写。谁能帮我想出一种方法来巩固这些:-
isEqual 这里是一个比较两个对象的 lodash 库。 这里的状态是一个注入状态,我从中挑选对象。
public get isUpperModified(): boolean {
if (!this.isUpperAvailable) {
return false;
}
if (
(this.orders.upperPreference.type === '1' &&
this.state.fetchedData.upperPreference.type === '1') ||
(this.orders.upperPreference.type === 'UPPER' &&
this.state.fetchedData.upperPreference.type === 'UPPER')
) {
return false;
}
if (!isEqual(this.orders.upperPreference, this.state.fetchedData.upperPreference)) {
return true;
}
return false;
}
public get isLowerModified(): boolean {
if (!this.isLowerAvailable) {
return false;
}
if (
(this.orders.lowerPreference.type === '1' &&
this.state.fetchedData.lowerPreference.type === '1') ||
(this.orders.lowerPreference.type === 'LOWER' &&
this.state.fetchedData.lowerPreference.type === 'LOWER')
) {
return false;
}
if (!isEqual(this.orders.lowerPreference, this.state.fetchedData.lowerPreference)) {
return true;
}
return false;
}
【问题讨论】:
-
能否请您也显示对这些方法的调用?
标签: javascript typescript dry getter typescript2.0