【发布时间】:2017-01-11 19:16:06
【问题描述】:
我注意到我的很多代码都是重复的,纯粹是因为我不知道如何在考虑变量的情况下以不同的方式重构它。
这是我的反应渲染方法中的代码:
if (card.suit == 'D' || card.suit == 'H'){
return <div className="cardFormatDH" key={ index }> {card.rankKey}{card.suit} </div>;
}
else if (card.suit == 'C' || card.suit == 'S'){
return <div className="cardFormatCS" key={ index }> {card.rankKey}{card.suit} </div>;
}
实际上我想说的是:
无论是d/h还是c/s都返回完全相同的东西,只是让c/s有相同的风格,d/h有相同的风格。 我的 if 条件也很长,但我想不出办法缩短它
【问题讨论】:
-
这个问题可能更好地表述为“在 JSX 中删除代码重复”,因为这种东西在普通 JavaScript 中是微不足道的,但是对于 JSX 的所有怪异,你是对的,它不是很明显!
-
JSX 乍一看很奇怪,但这就是奇怪的地方。就像语法糖一样,它是 extraordinarily simple,这在 JSX 中并不比在 JavaScript 中小。
标签: javascript reactjs refactoring code-duplication