5.props.html 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <script src="../babel.min.js"></script>
  8. <script src="../react.development.js"></script>
  9. <script src="../react-dom.development.js"></script>
  10. </head>
  11. <body>
  12. <div id="root"></div>
  13. <script type="text/babel">
  14. //父组件向子组件传参使用 props 单向数据流 不能修改 只读
  15. function Parent(){
  16. return (
  17. <div style={{border: "1px red solid"}}>
  18. <h2>我是父组件</h2>
  19. <Child name="海绵宝宝" age={4}/>
  20. </div>
  21. )
  22. }
  23. function Child(props){
  24. // console.log(props,"子组件的内容")
  25. return (
  26. <div style={{border: "1px blue solid"}}>
  27. <h2>我是子组件</h2>
  28. <p>我是父组件传递过来的参数:我是 {props.name} 我的年龄是 {props.age}</p>
  29. <button onClick={()=>{
  30. handleGet(props)
  31. }}>获取内容</button>
  32. {/*
  33. props 是只读的 不能修改
  34. <button onClick={()=>{
  35. handleChange(props)
  36. }}>修改内容</button>
  37. */}
  38. </div>
  39. )
  40. }
  41. function handleChange(props){
  42. props.name = "小猪佩奇"
  43. }
  44. function handleGet(props){
  45. console.log("获取内容是:" + props.name + "年龄是" + props.age)
  46. }
  47. let element = <Parent/>
  48. ReactDOM.createRoot(document.getElementById('root')).render(element)
  49. </script>
  50. </body>
  51. </html>