React之类式组件中的构造器与props
<!DOCTYPE html>
<html>
<head>
? ? <meat charset="UTF-8">
? ? ? ? <title>2_類式組件中的構造器與props</title>
</head>
<body>
? ? <!-- 準備好一個容器 -->
? ? <div id="test1"></div>
? ? <div id="test2"></div>
? ? <div id="test3"></div>
? ? <!-- 核心庫 -->
? ? <script type="text/javascript" src="../js/react.development.js"></script>
? ? <!-- react-dom,操作dom -->
? ? <script type="text/javascript" src="../js/react-dom.development.js"></script>
? ? <!-- 引入babel,jsx轉為js -->
? ? <script type="text/javascript" src="../js/babel.min.js"></script>
? ? <!-- 此處一定要寫babel -->
? ? <script type="text/babel">
? ? ? ? //1.創建組件
? ? ? ? class Person extends React.Component{ ?
? ? ? ? ? ? constructor(props){
? ? ? ? ? ? ? ? //構造器是否接受props,是否傳遞給super,取決于:是否希望在構造器中通過this訪問props
? ? ? ? ? ? ? ? console.log(props);
? ? ? ? ? ? ? ? super(props);
? ? ? ? ? ? ? ? console.log('constructor',props);
? ? ? ? ? ? }
? ? ? ? ? ? //對標簽屬性進行類型、必要性的限制
? ? ? ? ? ? // static propTypes = {
? ? ? ? ? ? // ? ? name:PropTypes.string.isRequired, //限制name必傳,且為字符串
? ? ? ? ? ? // ? ? sex:ProTypes.string, //限制sex為字符串
? ? ? ? ? ? // ? ? age:ProTypes.number, //限制age為數值
? ? ? ? ? ? // } ?
? ? ? ? ? ?
? ? ? ? ? ? //指定默認標簽屬性值
? ? ? ? ? ? static defaultProps={
? ? ? ? ? ? ? ? sex:'男',//sex默認值為男
? ? ? ? ? ? ? ? age:18 //age默認值為18
? ? ? ? ? ? }
? ? ? ? ? ?render(){ ?
? ? ? ? ? ? ? ?console.log(this);
? ? ? ? ? ? ? ?const {name,age,sex} = this.props ? ? ?
? ? ? ? ? ? ? ?return(
? ? ? ? ? ? ? ? ? ?<ul>
? ? ? ? ? ? ? ? ? ? ? ? <li>姓名:{name}</li>
? ? ? ? ? ? ? ? ? ? ? ? <li>性別:{sex}</li>
? ? ? ? ? ? ? ? ? ? ? ? <li>年齡:{age}</li>
? ? ? ? ? ? ? ? ? ? </ul>
? ? ? ? ? ? ? ?)
? ? ? ? ? ?} ? ? ? ? ?
? ? ? ? } ?
? ? ? ? //2.渲染組件到頁面
? ? ? ? ReactDOM.render(<Person name="jerry"/>, document.getElementById('test1')); ?
? ? </script>
</body>
</html>
?
總結
以上是生活随笔為你收集整理的React之类式组件中的构造器与props的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python map 函数 -Pytho
- 下一篇: Python len函数 - Pytho