React(十二):props的函数组件中使用
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>props的函数组件实现</title> <script src="https://unpkg.com/react@18/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script> <!-- Don't use this in production: --> <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script> <!-- prop类型限制导入 --> <script src="https://unpkg.com/prop-types@15.6/prop-types.js"></script> </head> <body> <div id="test1"></div> <div id="test2"></div> <div id="test3"></div> </body> <script type="text/babel"> function Person(props) { const { name, sex, age } = props return ( <ul> <li>姓名:{name}</li> <li>性别:{sex}</li> <li>年龄:{age}</li> </ul> ) } //props类型限制 Person.propTypes = { name: PropTypes.string.isRequired,//是字符串类型且不能为空 sex: PropTypes.string,//是字符串类型 age: PropTypes.number,//是数值类型 speak: PropTypes.func//是函数类型 } //props默认值 Person.defaultProps = { age: 0, sex: '未知' } //基本使用 ReactDOM.render(<Person name="张三" age={15} sex="男" />, document.getElementById('test1')) ReactDOM.render(<Person name="李四" />, document.getElementById('test2')) //批量传递props const p = { name: "王五", age: 17, sex: "女", speak: function a() { } } ReactDOM.render(<Person {...p} />, document.getElementById('test3')) </script> </html>