日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

reactjs组件实例的三大属性之props使用示例:在函数式组件中使用props

發布時間:2025/1/21 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 reactjs组件实例的三大属性之props使用示例:在函数式组件中使用props 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

props基本使用

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>props基本使用</title> </head> <body><!-- 準備好一個“容器” --><div id="test1"></div><div id="test2"></div><div id="test3"></div><!-- 引入react核心庫 --><script type="text/javascript" src="../js/react.development.js"></script><!-- 引入react-dom,用于支持react操作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><script type="text/babel">//創建組件class Person extends React.Component{render(){// console.log(this);const {name,age,sex} = this.propsreturn (<ul><li>姓名:{name}</li><li>性別:{sex}</li><li>年齡:{age+1}</li></ul>)}}//渲染組件到頁面ReactDOM.render(<Person name="jerry" age={19} sex="男"/>,document.getElementById('test1'))ReactDOM.render(<Person name="tom" age={18} sex="女"/>,document.getElementById('test2'))const p = {name:'老劉',age:18,sex:'女'}// console.log('@',...p);// ReactDOM.render(<Person name={p.name} age={p.age} sex={p.sex}/>,document.getElementById('test3'))ReactDOM.render(<Person {...p}/>,document.getElementById('test3'))</script> </body> </html>

對props進行限制

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>對props進行限制</title> </head> <body><!-- 準備好一個“容器” --><div id="test1"></div><div id="test2"></div><div id="test3"></div><!-- 引入react核心庫 --><script type="text/javascript" src="../js/react.development.js"></script><!-- 引入react-dom,用于支持react操作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><!-- 引入prop-types,用于對組件標簽屬性進行限制 --><script type="text/javascript" src="../js/prop-types.js"></script><script type="text/babel">//創建組件class Person extends React.Component{render(){// console.log(this);const {name,age,sex} = this.props//props是只讀的//this.props.name = 'jack' //此行代碼會報錯,因為props是只讀的return (<ul><li>姓名:{name}</li><li>性別:{sex}</li><li>年齡:{age+1}</li></ul>)}}//對標簽屬性進行類型、必要性的限制Person.propTypes = {name:PropTypes.string.isRequired, //限制name必傳,且為字符串sex:PropTypes.string,//限制sex為字符串age:PropTypes.number,//限制age為數值speak:PropTypes.func,//限制speak為函數}//指定默認標簽屬性值Person.defaultProps = {sex:'男',//sex默認值為男age:18 //age默認值為18}//渲染組件到頁面ReactDOM.render(<Person name={100} speak={speak}/>,document.getElementById('test1'))ReactDOM.render(<Person name="tom" age={18} sex="女"/>,document.getElementById('test2'))const p = {name:'老劉',age:18,sex:'女'}// console.log('@',...p);// ReactDOM.render(<Person name={p.name} age={p.age} sex={p.sex}/>,document.getElementById('test3'))ReactDOM.render(<Person {...p}/>,document.getElementById('test3'))function speak(){console.log('我說話了');}</script> </body> </html>

props的簡寫方式

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>props的簡寫方式</title> </head> <body><!-- 準備好一個“容器” --><div id="test1"></div><div id="test2"></div><div id="test3"></div><!-- 引入react核心庫 --><script type="text/javascript" src="../js/react.development.js"></script><!-- 引入react-dom,用于支持react操作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><!-- 引入prop-types,用于對組件標簽屬性進行限制 --><script type="text/javascript" src="../js/prop-types.js"></script><script type="text/babel">//創建組件class Person extends React.Component{constructor(props){//構造器是否接收props,是否傳遞給super,取決于:是否希望在構造器中通過this訪問props// console.log(props);super(props)console.log('constructor',this.props);}//對標簽屬性進行類型、必要性的限制static propTypes = {name:PropTypes.string.isRequired, //限制name必傳,且為字符串sex:PropTypes.string,//限制sex為字符串age:PropTypes.number,//限制age為數值}//指定默認標簽屬性值static defaultProps = {sex:'男',//sex默認值為男age:18 //age默認值為18}render(){// console.log(this);const {name,age,sex} = this.props//props是只讀的//this.props.name = 'jack' //此行代碼會報錯,因為props是只讀的return (<ul><li>姓名:{name}</li><li>性別:{sex}</li><li>年齡:{age+1}</li></ul>)}}//渲染組件到頁面ReactDOM.render(<Person name="jerry"/>,document.getElementById('test1'))</script> </body> </html>

函數式組件使用props

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>函數組件使用props</title> </head> <body><!-- 準備好一個“容器” --><div id="test1"></div><div id="test2"></div><div id="test3"></div><!-- 引入react核心庫 --><script type="text/javascript" src="../js/react.development.js"></script><!-- 引入react-dom,用于支持react操作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><!-- 引入prop-types,用于對組件標簽屬性進行限制 --><script type="text/javascript" src="../js/prop-types.js"></script><script type="text/babel">//創建組件function Person (props){const {name,age,sex} = propsreturn (<ul><li>姓名:{name}</li><li>性別:{sex}</li><li>年齡:{age}</li></ul>)}Person.propTypes = {name:PropTypes.string.isRequired, //限制name必傳,且為字符串sex:PropTypes.string,//限制sex為字符串age:PropTypes.number,//限制age為數值}//指定默認標簽屬性值Person.defaultProps = {sex:'男',//sex默認值為男age:18 //age默認值為18}//渲染組件到頁面ReactDOM.render(<Person name="jerry"/>,document.getElementById('test1'))</script> </body> </html>

總結

以上是生活随笔為你收集整理的reactjs组件实例的三大属性之props使用示例:在函数式组件中使用props的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。