郑柏铃 il y a 1 jour
Parent
commit
a172744c95
2 fichiers modifiés avec 113 ajouts et 0 suppressions
  1. 51 0
      20.react/初阶/7.组件创建.html
  2. 62 0
      20.react/初阶/8.组件传参.html

+ 51 - 0
20.react/初阶/7.组件创建.html

@@ -0,0 +1,51 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+    <script src="./babel.min.js"></script>
+    <script src="./react.development.js"></script>
+    <script src="./react-dom.development.js"></script>
+</head>
+
+<body>
+    <div id="root">
+        <!-- <h1>你好</h1> -->
+    </div>
+    <script type="text/babel">
+        const root = ReactDOM.createRoot(document.getElementById("root"));
+        // 1.函数组件
+        // a. 首字母必须大写 
+        // b. 多单词 采用大驼峰命名法 PascalCase
+        // c. 组件最终呈现的是一个根元素
+        function NewList() {
+            return (
+                <div>
+                    <h1>1</h1>
+                    <h1>1</h1>
+                </div>
+            )
+        }
+
+        // 2.类组件
+        // a. class 声明类组件
+        // b. 继承React.Component类
+        // c. 定义render实例方法 返回最后呈现的组件效果
+        class Good extends React.Component {
+            render() {
+                return (
+                    <div>
+                        <p>哈哈哈哈</p>    
+                    </div>
+                )
+            }
+        }
+
+        const element = <Good />
+        root.render(element);
+    </script>
+</body>
+
+</html>

+ 62 - 0
20.react/初阶/8.组件传参.html

@@ -0,0 +1,62 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+    <script src="./babel.min.js"></script>
+    <script src="./react.development.js"></script>
+    <script src="./react-dom.development.js"></script>
+</head>
+
+<body>
+    <div id="root"></div>
+    <script type="text/babel">
+        const root = ReactDOM.createRoot(document.getElementById("root"));
+        function App() {
+            let name1 = '羊羊';
+            return (
+                <div>
+                    <Good name={name1} />
+                    <Day week={"周四"} />
+                </div>
+            )
+        }
+
+        // 函数组件 
+        /**
+         * 所有函数定义的组件 都会接受一个唯一的参数:props
+         * 和Vue是一样的,是单向数据流
+         * 从父组件想后代传入
+         * 本质上,props是一个object
+         * 存储父组件给绑定的所有属性集合
+         * props是响应式的
+         * 当props数据发生变化 后面的组件就会重新渲染
+         * props 是只读 不可修改
+         * 
+        */
+        function Good(props) {
+            props.name = '瑶一瑶';
+            return <h1>{props.name}</h1>
+        }
+
+
+        // 类组件
+        class Day extends React.Component{
+            // 实例 this
+            render() {
+                return (
+                    <div>
+                        <p>今天是{this.props.week}</p>
+                    </div>
+                )
+            }
+        }
+
+
+        root.render(<App/>);
+    </script>
+</body>
+
+</html>