7.函数组件.html 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. /**
  15. * 函数组件
  16. * 1.首字母大写 大驼峰命名法
  17. * 2.函数必须返回jsx
  18. * 3.jsx必须有一个根节点 React.Fragment
  19. * 不支持this
  20. * 单向数据流:只能从父组件传给子组件
  21. * props
  22. */
  23. function LinkStyle() {
  24. return (
  25. <>
  26. <link rel="stylesheet" href="./css/a.css" precedence="low" />
  27. <link rel="stylesheet" href="./css/b.css" precedence="high" />
  28. </>
  29. )
  30. }
  31. function Good() {
  32. console.log(this, 'this')
  33. return (
  34. <div>
  35. <h1 className='end'>好好学习</h1>
  36. </div>
  37. )
  38. }
  39. function Welcome() {
  40. return (
  41. <React.Fragment>
  42. <h1>好好学习!</h1>
  43. </React.Fragment>
  44. )
  45. }
  46. const News = () => {
  47. return <>
  48. <h2>大家好</h2>
  49. <h2>大家好</h2>
  50. <h2>大家好</h2>
  51. <Good />
  52. <Welcome />
  53. </>
  54. }
  55. const element = (
  56. <>
  57. <LinkStyle />
  58. <News />
  59. </>
  60. )
  61. const container = document.getElementById("root");
  62. const root = ReactDOM.createRoot(container)
  63. root.render(element);
  64. </script>
  65. </body>
  66. </html>