react与html结合使用

本文主要记录了,怎么在html页面使用react的流程:

一、引入react和bable库

这个库可以去react官网引入 ,也可以下载有关的js文件
官网引入:
1、先引入react有关文件
在这里插入图片描述

// 适用于开发环境:
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
// 适用于生产环境:
<script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>

2、bable文件要放在react库后面
在这里插入图片描述
js文件引入的方式:
在这里插入图片描述
这3个文件需要自行下载
线上实现的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>react_hello_world</title>
    <!-- 引入react核心库 -->
    <script type="text/javascript" src="../develop/react.development.js"></script>
    <!-- 引入react-dom, 用于支持react操作DOM -->
    <script type="text/javascript" src="../develop/react-dom.development.js"></script>
    <!-- 引入babel, 用于将jsx转为js -->
    <script type="text/javascript" src="../develop/babel.min.js"></script>
</head>
<body>
    <div id="root"></div>
    <div id="rootA"></div>
    <div id="rootB"></div>
    <div id="rootC"></div>
</body>
</html>
<script type="text/babel"> /* 此处一定要写babel */
    // 最简单的ReactDOM
    ReactDOM.render(
        <h1>Hello, world</h1>,
        document.getElementById('root')
    )
    // JSX
    function formatName(user) {
        return user.firstName + ' ' + user.lastName;
    }
    const user = {
        firstName: 'Harper',
        lastName: 'Perez'
    }
    const element = (
        <h1>
            Hello, {formatName(user)}!
        </h1>
    )
    ReactDOM.render(
        element,
        document.getElementById('root')
    )
    function getGreeting(user) {
        if (user) {
            return <h1>Hello, formatName(user)</h1>
        }
        return <h1>Hello, Stranger.</h1>
    }
    const elementA = <div tabIndex="1"></div>
    const elementB = <img src={user.firstName} /> // 要是标签没有内容可以使用 "/>" 来闭合
    /**警告:
     * 因为JSX语法上更接近javaScript而不是HTML, 所以React DOM使用cameCase(小驼峰命名) 来定义属性的名称,而不是使用HTML的命名约定。
     * 例如:
     * JSX里的class变成了className, 而tabindex则变为tabIndex。
     */
    const elementC = (
        <div>
            <h1>我是</h1>
            <h2>笨笨</h2>
            <span></span>
            <h2>蛋蛋</h2>
        </div>
    )
    ReactDOM.render(
        elementC,
        document.getElementById('rootA')
    )
    let tickTimer = null;
    function tick() {
        if (tickTimer) {
            clearInterval(tickTimer)
        }
        const elementE = (
            <div>
                <h1>Hello, world</h1>
                <h2>It is {new Date().toLocaleDateString()}.</h2>
            </div>
        );
        console.log('1111111111', new Date());
        ReactDOM.render(elementE, document.getElementById('rootB'));
    }
    tickTimer = setInterval(tick, 1000)
    const elementF = React.createElement(
        'span',
        {className: 'greating'},
        '哈喽 哈喽 我是笨笨'
    );
    ReactDOM.render(elementF, document.getElementById('rootC'))
</script>
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值