Yangbing 1 жил өмнө
parent
commit
c9ce1b9584

+ 23 - 0
yangbing/react/1_认识react.html

@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+    <!-- 引入文件  *顺序不能改变-->
+    <!-- 将jsx转为js -->
+    <script src="./babel.min.js"></script>
+    <!-- react核心库 -->
+    <script src="./react.development.js"></script>
+    <!-- react中的dom操作库 -->
+    <script src="./react-dom.development.js"></script>
+</head>
+<body>
+    <div id="root"></div>
+    <script type="text/babel">
+        const text = <div>这是一块div</div>
+        const gettext =document.getElementById("root");
+        ReactDOM.createRoot(gettext).render(text)
+    </script>
+</body>
+</html>

+ 33 - 0
yangbing/react/2_jsx-数据渲染.html

@@ -0,0 +1,33 @@
+<!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>
+    <!-- 
+        vue 动态渲染 {{}} 模板语法
+        reacr 表达是 {}可以运算
+     -->
+    <script type="text/babel">
+        let cloudy = '多云'
+        let useName={
+            firstName:'面',
+            lastName:'条'
+        }
+        // const dada = <h1>太阳好亮{cloudy}</h1>
+        // const sun = <h1>太阳好亮{false + 1 + 'hi'}</h1>
+        const didi = <h1>好大一个太阳{false + 1 + 'hello' + useName.firstName}</h1>
+        function getName(userName) {
+            return `${useName.firstName} ${useName.lastName}`
+        }
+        const getRoot = document.getElementById('root');
+        ReactDOM.createRoot(getRoot).render(dada)
+    </script>
+</body>
+</html>

+ 53 - 0
yangbing/react/3_jsx-绑定属性.html

@@ -0,0 +1,53 @@
+<!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>
+        .dida{
+            color: red;
+        }
+    </style>
+</head>
+
+<body>
+    <div id="root"></div>
+    <!-- 数据渲染用for
+        for => htmlFor
+        class => className
+        jsx中 所有标签 必须闭合
+        jsx中注释:
+        {/*在这里写注释*/}
+     -->
+     <!-- 
+        label中的for的名称
+        与input框中的id名称相同,就可以实现点击label内容input实现聚焦
+        input中 tabIndex属性可以操控tab健下的顺序
+      -->
+    <script type="text/babel">
+        let element = <h1 className='dida'>滴滴答答</h1>
+        let example = (
+            <div>
+            {/*react中这样写注释*/}
+            <label htmlFor="same">姓名</label>
+            <input id="same" type="text" placeholder=' 请输入姓名' tabIndex='1'/>
+            <br/>
+            <label htmlFor="same">年龄</label>
+            <input id="same" type="text" placeholder=' 请输入年龄'tabIndex='2'/>
+            <br/>
+            <label htmlFor="same">地址</label>
+            <input id="same" type="text" placeholder=' 请输入地址'tabIndex='3'/>
+            <br/>
+            </div>
+        )
+        const getelement =document.getElementById('root');
+        ReactDOM.createRoot(getelement).render(element)
+    </script>
+</body>
+
+</html>

+ 65 - 0
yangbing/react/4_jsx-绑定样式.html

@@ -0,0 +1,65 @@
+<!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: 500px;
+            height: 500px;
+            border: 1px solid #000;
+            margin: 0 auto;
+        } */
+    </style>
+</head>
+
+<body>
+    <div id="root"></div>
+    <!-- className :
+        className = '类名'
+        className = {'类名'}
+    -->
+    <script type="text/babel">
+        //动态渲染模式
+        // jsx中style样式是对象Object格式 不能是字符串格式
+        // let box = <div className={'box'}>这里展示样式</div>
+        // 需求: 盒子样式; 大盒子居中  小盒子通过弹性盒子布局分别在左右两侧
+        let newBox = {
+            width:'500px',
+            height:'500px',
+            border:'1px solid #00f',
+            margin:'0 auto',
+            display:'flex',
+            justifyContent:'space-between',
+            alignItem:'center'
+        }
+        let left = {
+            width:'100px',
+            height:'100px',
+            // jsx中动态渲染样式 样式属性若是多单词组成需要将其变成驼峰命名法
+            backgroundColor:'#e83c09',
+            color:'#0e7fc7'
+        }
+        let box = (
+            <div style={newBox}>
+                <div style={left}>左侧盒子</div>
+                <div style={{
+                    width:'100px',
+                    height:'100px',
+                    backgroundColor:'blue',
+                    color:'#168743'
+            
+            }}>右侧盒子</div>
+            </div>
+        )
+        const getelement = document.getElementById('root');
+        ReactDOM.createRoot(getelement).render(box)
+    </script>
+</body>
+
+</html>