7.函数组件.html 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. // <div>
  26. // <link rel="stylesheet" href="./css/a.css" precedence="high" />
  27. // <link rel="stylesheet" href="./css/b.css" precedence="low" />
  28. // </div>
  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. <News />
  58. </>
  59. )
  60. const container = document.getElementById("root");
  61. const root = ReactDOM.createRoot(container)
  62. root.render(element);
  63. </script>
  64. </body>
  65. </html>