Javascript react中this.name和this.state.name的区别是什么?

Javascript react中this.name和this.state.name的区别是什么?,javascript,reactjs,Javascript,Reactjs,React在构造函数中的React中具有实例属性和状态属性 实例属性-它不会重新渲染视图。用于存储值。 状态属性-其存储并重新渲染视图 除上述原因外,任何其他原因或差异,或何时应用于React类组件?的构造函数中的实例和状态 例如: class example extends Component{ constructor(){ this.state = { name: 'albert' }; this.name = 'albert'; } }

React在构造函数中的React中具有实例属性和状态属性

实例属性-它不会重新渲染视图。用于存储值。 状态属性-其存储并重新渲染视图

除上述原因外,任何其他原因或差异,或何时应用于React类组件?的构造函数中的实例和状态

例如:

class example extends Component{
  constructor(){
     this.state = {
       name: 'albert'
     };
    this.name = 'albert';
  }
}

当组件状态更改时,它会触发组件重新渲染(如果在中未将其设置为忽略)


更改实例属性不会触发重新渲染。

两者的简单区别是视图零件渲染。 例如:状态为“更新”时,视图也会更新。有时视图不需要重新加载,此时我们可以将值存储在组件实例中,正如您提到的this.name

只需通过下面的链接查看更多关于状态和实例的信息

这取决于您的需求,以及存储在其中的数据类型

当任何状态变量被更新时,react调用
render
在DOM元素中进行更改,所以如果您想在DOM中进行任何更改,您应该使用
state
否则的实例

当前的最佳实践是使用本地状态来处理 您的用户界面(UI)状态而不是数据

和实例属性,当您只想保存一些数据以用于UI处理、计算等。
检查此ref以了解更多详细信息

每当状态更新时,react调用
render()
方法以使用所需更改更新DOM,并且应始终使用
setState()
对其进行更新。实例变量对于块级操作非常有用,如果需要,块级操作将更新状态。因此,如果要重新呈现DOM,请使用状态变量,否则请使用实例变量。

一个是组件状态的一部分,一个是组件属性。