使用方法渲染vs变量的任何优点?

时间:2016-06-16 02:34:30

标签: javascript reactjs

这两者之间是否有任何真正的区别(使用一个优于另一个的优势):

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>
  }
}

或者这只是归结为一种风格决定?

1 个答案:

答案 0 :(得分:2)

简短回答:

解决问题的第一种方法是更清晰,并允许您重用函数renderStuff。去那个。

长:

虽然技术上与第二种方法相比至少会涉及一个函数调用,但我怀疑这会以明显的方式影响代码的性能。我会说它归结为风格,我会说你的第一个版本是最好的。您的render功能更清晰&amp;更具可读性,您可以重复使用renderStuff。您的第二个选项仅具有少一个函数调用的性能优势。