React-state(状态值)
1.作用:用于存储组件内的数据,是组件的私有属性,不可以通过外部访问和修改,只能在组件内部修改,state内的值修改会触发DOM重新渲染props
2.在组件中的写法:
class MyFirst extends React.Component {
/*构造器*/
constructor(props){
super(props);//调用父类的构造函数 用于初始化props属性
this.state={
name:'张三',
age:18,
msg:'MyFirst组件'
}
}
render(){
return (
<div>
<h1>{this.state.msg}</h1>
<p>{this.state.name}</p>
<p>{this.state.age}</p>
<p>{this.props.a}</p>
</div>
)
}
}
ReactDOM.render(
<MyFirst a='a'/>
,
document.getElementById('app')
)
必须要写到constructor组件构造器中。可以把state看成Vue中的data属性,拥有相同的功能。
在组件内访问state内的值:this.state.属性名
- 修改state内属性的值:
this.setState({
...
})
class MyFirst extends React.Component {
/*构造器*/
constructor(props){
super(props);//调用父类的构造函数 用于初始化props属性
this.state={
name:'张三',
age:18,
msg:'MyFirst组件'
}
};
changeAge(){
this.setState({
age:19
})
};
render(){
return (
<div>
<h1>{this.state.msg}</h1>
<p>{this.state.name}</p>
<p>{this.state.age}</p>
<p>{this.props.a}</p>
<button onClick={()=>{this.changeAge()}}>click me change age</button>
</div>
)
}
}