这两者之间是否有任何真正的区别(使用一个优于另一个的优势):
class Thing extends Component {
renderStuff() {
// Tons of conditional code, etc
return someValue;
}
render() {
return <div>
{this.renderStuff.call(this)}
</div>
}
}
VS
class Thing extends Component {
render() {
let someValue;
// Tons of conditional code here, to determine the value of someValue
return <div>
{someValue}
</div>
}
}
或者这只是归结为一种风格决定?
答案 0 :(得分:2)
简短回答:
解决问题的第一种方法是更清晰,并允许您重用函数renderStuff
。去那个。
长:
虽然技术上与第二种方法相比至少会涉及一个函数调用,但我怀疑这会以明显的方式影响代码的性能。我会说它归结为风格,我会说你的第一个版本是最好的。您的render
功能更清晰&amp;更具可读性,您可以重复使用renderStuff
。您的第二个选项仅具有少一个函数调用的性能优势。