Reactjs 直接在“上”注明;这";

Reactjs 直接在“上”注明;这";,reactjs,Reactjs,很多人直接在这个对象上使用属性(例如这个.点击计数),而不是这个.状态对象,有时有20个不同的属性直接连接到这个 这个.state纯粹是为了组织,还是关于它还有别的什么?为什么这么多人/项目不使用此.state 以下两个示例的工作方式完全相同 带有状态的代码示例: 类Clicker扩展React.Component{ 构造函数(){ 超级() 此.state={ 点击次数:0 } this.\u onClick=this.\u onClick.bind(this) } render(){ 返回

很多人直接在
这个
对象上使用属性(例如
这个.点击计数
),而不是
这个.状态
对象,有时有20个不同的属性直接连接到
这个

这个.state
纯粹是为了组织,还是关于它还有别的什么?为什么这么多人/项目不使用此.state

以下两个示例的工作方式完全相同


带有状态的代码示例:
类Clicker扩展React.Component{
构造函数(){
超级()
此.state={
点击次数:0
}
this.\u onClick=this.\u onClick.bind(this)
}
render(){
返回(
单击{this.state.clickCount}次
)
}
_onClick(){
这是我的国家({
clickCount:this.state.clickCount+1
})
}
}
无状态的代码示例:
类Clicker扩展React.Component{
构造函数(){
超级()
this.\u onClick=this.\u onClick.bind(this)
}
render(){
返回(
单击{this.clickCount?this.clickCount:0}次
)
}
_onClick(){
this.clickCount=(this.clickCount?this.clickCount:0)+1
}
}

在某些情况下,您只需要与
状态
无关的实例变量。对于这些,只需执行类似于
的操作。


当您希望组件在值更改时重新渲染时,最好将该值附加到
状态
,并使用
this.setState(…)

对其进行修改。第一个示例将在由于状态更改而调用
\onClick
时触发组件的重新渲染

第二个示例在调用
\u onClick
时不会触发组件的重新渲染,因此您可能会在一段时间内看不到更新的值(直到其他内容使组件再次渲染)