<script type="text/babel">
class Person extends React.Component {
constructor(props) {
super(props);
console.log(props);
//传不传props,取决于要不要用到this.props
console.log(this.props);
}
//对传入的数据类型进行限制
static propTypes = {
//表示姓名这个属性是字符串类型且必须是要传的
name: PropTypes.string.isRequired,
sex: PropTypes.string,
age: PropTypes.number,
speak: PropTypes.func, //限制传入的speak必须是函数
};
//设置默认值
static defaultProps = {
sex: "不男不女",
age: 18,
};
render() {
console.log(this);
const { name, sex, age } = this.props;
//props是只读的,不能修改
//this.props.age=80 //报错
return (
<ul>
<li>{name}</li>
<li>{sex}</li>
<li>{age + 1}</li>
</ul>
);
}
}
function speak() {
console.log("我要说话");
}
let p = { name: "Tom", age: 19 };
//渲染
//这里面的{...p},相当于展开name: "Tom", sex: "男", age: "18"
ReactDOM.render(
<Person {...p} speak={speak} />,
document.getElementById("test")
);
</script>
729_React_props限制简写
- 本文链接: http://lzkpersonal.com.cn/2023/08/01/729-React-props限制简写/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!