ReactJS状态和局部变量

Sap*_*pta 13 reactjs

参考:ReactJS文档页面URL:https://facebook.github.io/react/docs/state-and-lifecycle.html

赋值中的timerIDthis.timerID = setInterval只是一个变量.为什么这不是一个

Chr*_*ris 16

可以让它成为一个状态变量,但这没有多大意义,因为状态意味着保存与UI当前状态相关的变量.此外,状态变量用于在更新(带setState())时触发重新渲染.

对于要在状态中存储的计时器ID,这些都不是很有意义.换句话说,它不是状态变量,因为:

  1. timerID不以任何方式表示UI的表示.
  2. 更新timerID不应触发重新呈现.

官方的文档实际上提到这一点:

状态包含特定于此组件的数据,该数据可能随时间而变化.[...]如果您不使用它render(),它不应该处于该状态.例如,您可以将计时器ID直接放在实例上.

  • 谢谢.其他两个回答也有着几乎相似的想法,但是你的回答是最完整和最明确的,所以接受. (2认同)