开发者学堂课程【React前端开发入门与实战:React 基础知识——属性状态 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/365/detail/4357
React 基础知识——属性状态
目录:
一、PROPS
二、PROP VALIDATION
三、STATE
一、PROPS
通过 this.props 可以获取传递给该组件的属性值,还可以
通过定义 getDefaultProps 天来指定默认属性值:
varB=React.createClass({
getDefaultPropsO){
return {
title:'default'} ;},
renderO{
return <b>{this.props.title}</b>
}
});
React.render(<div>
<B title-"指定"/> <B title={2}/>
</div>,document.getElementById('container'));
结果:指定 default
二、PROP VALIDATION
通过指定 propTypes 可以校验属性值的类型:
varB=React.createClass({
propTypes:{
title: React.PropTypes.string,
},
getDefaultProps(){
return {
title:'default'};},
render(){
return <b>{this.props.title}</b>
}
});
React.render(<div>
<B title-"指定"/> <B title={2}/>
</div>,document.getElementByIdc container"));
三、STATE
组件内部的状态,可以使用 state:
var Timer = React.createClass({
getInitialstate: function() {
return {secondsElapsed: 0};
初始值为0
},
tick: function() {
this.setState({secondsElapsed:
this.state.secondsElapsed
+ 1});},
componentDidMount:function() {
this.interval = setInterval(this.tick,1000);},
就会更新自己的状态
componentWillUnmount: functionO {
clearInterval(this.interval);
},
render: function(){
return(
<div>Seconds Elapsed: {this.state.secondsElapsed}</div>
更新完之后,ui 会自动同步。
);
}
});
状态变了,数据变了,UI 就自动变了。