React 组件的三大核心属性之 props 在类式组件中的基本使用
<head>
<meta charset="UTF-8">
<title>demo</title>
<!-- 引入react核心库 -->
<script type="text/javascript" src="https://unpkg.com/react@17/umd/react.development.js"></script>
<!-- 支持react操作DOM -->
<script type="text/javascript" src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>
<!-- 将jsx转为js -->
<script type="text/javascript" src="https://unpkg.com/babel-standalone@6/babel.js"></script>
<!-- 对组件标签属性进行限制, React v15.5之后,React.PropTypes 移入此包 -->
<script type="text/javascript" src="https://unpkg.com/prop-types@15.6/prop-types.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel">
class ClassComponent extends React.Component {
//对标签属性进行类型、必要性的限制
static propTypes = {
//限制name必传,且为字符串
name: PropTypes.string.isRequired,
//限制age为数值
age: PropTypes.number,
//限制myFunc为函数
myFunc: PropTypes.func,
}
//指定默认标签属性值
static defaultProps = {
//age默认值为18
age: 18
}
render() {
//组件的参数都在 props 中
const {name, age} = this.props
return <h1>类式组件:name = {name}, age = {age}</h1>
}
}
const data = {name: "aaa", age: 10};
//1.创建虚拟DOM
const vDOM = <div>
<ClassComponent {...data}/>
</div>;
//2.渲染虚拟DOM到页面
ReactDOM.render(vDOM, document.getElementById("root"));
</script>
</body>
注:
children-data <===> children-data
浙公网安备 33010602011771号