我尽量避免使用类变量,可能99%的代码都是用state
完成的。总是有一个印象,我们应该避免使用这个,因为React
重新渲染UI时,只有state
或props
的变化。
this.Arr = [
{ option: 'Product'},
{ option: 'Technical'},
{ option: 'Enquiry'},
{ option: 'Report'},
];
那么,我们应该在react native中使用class变量吗?你的论据是什么?
更新从下列问题中进一步阅读后,我得出结论……
阅读:
- ReactJS -组件状态和类变量之间的区别是什么? React组件应该使用(固定)值而不是状态或道具吗?
结论:
- 像往常一样,在状态变量中保留可能发生变化的变量。
- 用类变量存储硬编码值是可以的。但是,将它们移动到一个常量文件中,从那里读取所有的固定值可能是有意义的。
- 使用类变量不是ReactJS/ReactNative的反模式。由于值不需要UI重新渲染,因此存储在类变量中不是问题。
感谢任何人进一步评论。谢谢。
如果这个变量是永远不会改变的,并且不依赖于存在于组件范围内的任何东西,我建议将它作为一个常量存储在组件之外。
如果你确实需要根据组件范围内的东西生成它,你需要将它存储为状态或类变量。
我建议你把它存储为一个状态,如果你需要在变量改变时更新你的UI(使用setState)。如果不需要,最好将其存储为类变量。原因是,如果你把它存储在一个状态中,而不需要在变量改变时更新UI,你最终会导致不必要的重新渲染,这可能会很昂贵。
而且,在状态中存储定义上不是状态的东西,在我看来,比将其单独存储为类变量更令人困惑。
顺便说一句,如果你在一个允许你从类组件转向钩子的项目中工作,我强烈建议你这样做。