e пре 1 година
родитељ
комит
dee6ea5837

+ 1 - 1
react/study2/4.事件处理.html

@@ -56,7 +56,7 @@
                     {/*
                         传递多个参数时 接收参数需要解构
                     */}
-                    <p onClick={handleClick3.bind(null,44)}>事件3</p>
+                    <p onClick={handleClick3.bind(null,44,55)}>事件3</p>
                     {/* null不占位 */}
                     
                 </div>

+ 1 - 1
react/study2/5.组件创建.html → react/study2/5.函数组件创建.html

@@ -15,7 +15,7 @@
         函数组件
      -->
     <script type="text/babel">
-        // 这是一个函数组件  
+        // 这是一个函数组件  首写字母要大写
         // null undefined boolean Object无法渲染
         function New() {
           return (

+ 46 - 0
react/study2/6.props.html

@@ -0,0 +1,46 @@
+<!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>
+    <!-- 
+        单项数据流 props 推荐父级向子级传递 只读
+     -->
+    <script type="text/babel">
+        function Good(props) {
+            console.log(props,'父级的内容')
+            return (
+                <div style={{border:"2px solid #f00",padding:"10px"}}>
+                    <p>这是一个父级标签</p>
+                    <Day name='图图' age={4}></Day>
+                </div>
+            )
+        }
+        function Day(props) {
+            console.log(props,'子级的内容')
+            return (
+                <div style={{border:"2px solid #00f",padding:"10px"}}>
+                    <p>这是一个子级标签</p>
+                    <p>我的名字叫{props.name}</p>
+                    <p>我今年{props.age}岁了</p>
+                    <button onClick={()=>{
+                        handelClick(props)
+                    }}>获取内容</button>
+                </div>
+            )
+        }
+        function handelClick(props) {
+            console.log(props,'内容')
+        }
+        let element = <Good/>
+        ReactDOM.createRoot(document.querySelector("#root")).render(element);
+    </script>
+</body>
+</html>

+ 28 - 0
react/study2/7.类组件创建.html

@@ -0,0 +1,28 @@
+<!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">
+      // 类组件 遵从es6规范 可以修改=>state
+      class Vase extends React.Component {
+        render() {
+          return (
+            <div style={{ border: "2px solid #f00", padding: "10px" }}>
+              <p>这是一个父级标签</p>
+            </div>
+          );
+        }
+      }
+      let element = <Vase/>
+      ReactDOM.createRoot(document.querySelector("#root")).render(element);
+    </script>
+  </body>
+</html>

+ 57 - 0
react/study2/8.state.html

@@ -0,0 +1,57 @@
+<!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">
+      // 类组件 state 可以修改数据
+      // 计数器
+      class White extends React.Component {
+        // 定义初始数值
+        state = {
+          title: "计数器",
+          count: 0,
+        };
+        // constructor() {
+        //     super(props),
+        //     state={
+        //     }
+        // }
+        // 数据更新视图未变
+        // vue解决方案:Vue.set() this.$set
+        // react解决方案:
+        handleAdd() {
+          this.setState({
+            count: this.state.count + 1,
+          });
+          console.log(this.state, "加法");
+        }
+        handleReduce = () => {
+            console.log(this)
+          this.setState({
+            count: this.state.count - 1,
+          });
+        };
+        render() {
+          return (
+            <div>
+              <h2>{this.state.title}</h2>
+              <p>当前数值:{this.state.count}</p>
+              <button onClick={this.handleAdd.bind(this)}>+</button>
+              <button onClick={this.handleReduce}>-</button>
+            </div>
+          );
+        }
+      }
+      let element = <White />;
+      ReactDOM.createRoot(document.querySelector("#root")).render(element);
+    </script>
+  </body>
+</html>