8.组件传参.html 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. const root = ReactDOM.createRoot(document.getElementById("root"));
  15. function App() {
  16. let name1 = '羊羊';
  17. return (
  18. <div>
  19. <Good name={name1} />
  20. <Day week={"周四"} />
  21. </div>
  22. )
  23. }
  24. /**
  25. * 所有函数定义的组件 都会接受一个唯一的参数:props
  26. * 和Vue是一样的,是单向数据流
  27. * 从父组件想后代传入
  28. * 本质上,props是一个object
  29. * 存储父组件给绑定的所有属性集合
  30. * props是响应式的
  31. * 当props数据发生变化 后面的组件就会重新渲染
  32. * props 是只读 不可修改
  33. *
  34. */
  35. // 函数组件
  36. function Good(props) {
  37. // props.name = '瑶一瑶';
  38. return <h1>{props.name}</h1>
  39. }
  40. // 类组件
  41. class Day extends React.Component{
  42. // 实例 this
  43. render() {
  44. return (
  45. <div>
  46. <p>今天是{this.props.week}</p>
  47. </div>
  48. )
  49. }
  50. }
  51. root.render(<App/>);
  52. </script>
  53. </body>
  54. </html>