React学习笔记 | 第一节:React入门

本文是学习React笔记,对应视频为:https://www.bilibili.com/video/BV1oW41157DY 的 1 - 6 节。

一、引入JS

<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>

二、虚拟DOM创建和渲染

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
    <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>
<body>
<div id="test"></div>

<div id="test1"></div>
<div id="test2"></div>

<script type="text/javascript">
    const msg = "react";
    const msg2 = "reactShow";

    //1. 创建虚拟DOM元素
    const vDom1 = React.createElement('h2', {id: msg.toLocaleLowerCase()}, msg.toUpperCase());
    //2. 将虚拟DOM渲染到页面
    ReactDOM.render(vDom1, document.getElementById('test1'));
</script>
<script type="text/babel">
    //1. 创建虚拟DOM元素
    const vDom2 = <h3 id={msg2.toUpperCase()}>{msg.toLowerCase()}</h3>
    //2. 将虚拟DOM渲染到页面
    ReactDOM.render(vDom2, document.getElementById('test2'));
</script>
</body>
</html>

三、JSX练习

<!DOCTYPE html>
<html lang="cn">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
    <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>
<body>
    <div id="example"></div>

    <script type="text/babel">
        const names = ['Jquery', 'angular', 'zepto', 'vue'];

        //1. 创建虚拟DOM
        const ul = (
            <ul>
                {
                    names.map((name, index) => <li key={index}>{name}</li>)
                }
            </ul>
        )
        //2. 渲染
        ReactDOM.render(ul, document.getElementById('example'));
    </script>
</body>
</html>

四、面向组件编程

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>assembly</title>
    <script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
    <script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>
<body>
<div id="example1"></div>
<div id="example2"></div>
<script type="text/babel">
    //1. 定义组件
    function MyComponent() {
        return <h2>工厂函数组件 简单组件</h2>
    }

    class MyComponent2 extends React.Component {
        render () {
            return <h2>工厂函数组件 复杂组件</h2>
        }
    }

    //2. 渲染组件标签
    ReactDOM.render(<MyComponent/>, document.getElementById("example1"))
    ReactDOM.render(<MyComponent2/>, document.getElementById("example2"))
</script>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员麻薯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值