React 可复用组件
- 类定义完后,追加属性
propTypes
传入参数userid:React.PropTypes.number
,规定userid是一个数字型,如果传入字符型和其他的非数字型,都会报错。
- 给页面传入默认值
const defaultProps ={username:'这是一个默认的用户名'//默认属性设置};
,把定义的prop
传入 BodyIndex.defaultProps = defaultProps;
。
import React from 'react';
import BodyChild from './bodychild'
const defaultProps = {
username:'这是一个默认的用户名'
};
export default class BodyIndex extends React.Component {
constructor() {
super();
this.state = {
username: "Parry",
age:20
};
}
handleChildValueChange(event){
this.setState({age:event.target.value})
}
changeUserInfo(){
this.setState({age:50});
};
render() {
return (
<div>
<h2>页面主题内容</h2>
<p>接收到的父页面属性:userid: {this.props.userid} username: {this.props.username}</p>
<p>age: {this.state.age}</p>
<input type="button" value="提交" onClick={this.changeUserInfo.bind(this,99)}/>
<BodyChild {...this.props} id={4} handleChildValueChange={this.handleChildValueChange.bind(this)}/>
{/*传参数到孙子节点*/}
</div>
)
}
}
BodyIndex.propTypes = {
userid: React.PropTypes.number
};
BodyIndex.defaultProps = defaultProps;