首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >react中this.name和this.state.name的区别是什么?

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

Stack Overflow用户
提问于 2017-09-14 18:43:43
回答 4查看 1.5K关注 0票数 2

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

实例属性-它不会重新呈现视图。用于存储值。State属性-它存储并重新呈现视图。

除了以上原因之外,是否有任何其他原因或差异,或者何时应该在React类组件构造函数中同时使用实例和状态?

示例:

代码语言:javascript
运行
复制
class example extends Component{
  constructor(){
     this.state = {
       name: 'albert'
     };
    this.name = 'albert';
  }
}
EN

回答 4

Stack Overflow用户

发布于 2017-09-14 18:53:10

当组件状态改变时,它会触发组件重新渲染(如果在shouldComponentUpdate()中没有设置为忽略)。

更改实例属性不会触发重新呈现。

票数 1
EN

Stack Overflow用户

发布于 2017-09-14 18:54:30

两者的简单区别是视图部件渲染。例如:当State为update时,视图也会更新。有时视图不需要重新加载,我们可以像您提到this.name那样将值存储在组件实例中。

只需查看以下链接即可了解有关状态和实例https://medium.freecodecamp.org/where-do-i-belong-a-guide-to-saving-react-component-data-in-state-store-static-and-this-c49b335e2a00的更多信息

票数 1
EN

Stack Overflow用户

发布于 2017-09-14 18:54:32

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

当任何状态变量更新时,react调用render在DOM元素中进行更改,因此如果您想在DOM中进行任何更改,则应使用state

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

来自this article

和实例属性当您只想保存一些数据以便在UI处理、计算等中使用时,请查看此参考react-components-elements-and-instances以了解更多详细信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46216965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档