e 9 месяцев назад
Родитель
Сommit
62b4ac11e7
2 измененных файлов с 129 добавлено и 0 удалено
  1. 73 0
      react/react初阶/5.jsx样式绑定.html
  2. 56 0
      react/react初阶/6.组件创建.html

+ 73 - 0
react/react初阶/5.jsx样式绑定.html

@@ -0,0 +1,73 @@
+<!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>
+    <style>
+        .box {
+            width: 300px;
+            height: 300px;
+            margin-left: 30px;
+            background: #00f;
+        }
+        .text {
+            color: #fff;
+            font-size: 30px;
+        }
+        .reds {
+            color: #f00;
+        }
+        .yellows {
+            color: #ff0;
+        }
+    </style>
+</head>
+<body>
+    <!-- 
+    样式绑定:
+        1.class => className:在样式表中定义样式
+        2.style:在jsx语法中直接定义样式
+        className绑定:
+            className = "类名"
+            className = {"类名1 类名2...."}
+    -->
+    <div id="root"></div>
+    <script type="text/babel">
+        const root = ReactDOM.createRoot(document.getElementById("root"));
+        // let element = <div className="box">你好,我有一个帽衫</div>
+        let element = <div className={'box text'}>你好,我有一个帽衫</div>
+        // jsx中样式写法 只能是Object 不能是String
+        // 多单词组合样式改为驼峰命名法
+        let main = {
+            width: "500px",
+            height: "500px",
+            border: "1px solid #000",
+            margin: "100px auto",
+            display:"flex",
+            justifyContent: "space-between",
+        } 
+        let left = {
+            flex: "6.5",
+            height: "100%",
+            backgroundColor: "#f00"
+        } 
+        let right = {
+            flex: "2.5",
+            height: "100%",
+            backgroundColor: "#ff0"
+        }
+        element = (
+            <div style={main}>
+                <div style={left}></div>
+                <div style={right}></div>    
+            </div>
+        )
+        element = <div className={5 < 2?'reds':'yellows'}>你好</div>
+        root.render(element)
+    </script>
+</body>
+</html>

+ 56 - 0
react/react初阶/6.组件创建.html

@@ -0,0 +1,56 @@
+<!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"));
+        /**
+         * 类组件和函数组件
+         * 1.函数声明 function
+         * 2.类声明   class
+        */
+        // 1.函数组件 (只有一个单根元素) 驼峰命名法
+        function HelloWord() {
+            return (
+                <div>
+                    <h1>Hello World!</h1>
+                    <h1>Hello World!</h1>    
+                </div>
+            )
+        }
+        let element = (
+            <div>
+                <p>函数组件</p>
+                <HelloWord/>    
+            </div>
+        )
+        // 2. 类组件
+        /**
+         * class声明类组件的名字
+         * 必须继承React.Component
+         * 必须定义render函数 渲染最后返回的页面
+        */
+       let main = {
+        color: 'red'
+       }
+        class HiMonday extends React.Component {
+            render() {
+                return (
+                    <div style={{color:'plum'}}>
+                        <h1>我是第一个类组件</h1>    
+                    </div>
+                )
+            }
+        }
+        root.render(<HiMonday/>)
+    </script>
+</body>
+</html>