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
时不会触发组件的重新渲染,因此您可能会在一段时间内看不到更新的值(直到其他内容使组件再次渲染)