02_Hello_React案例

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <div id="root"></div>
    
     <!-- 引入依赖 -->
     <script crossorigin src="https://unpkg.com/react@18/umd/react.development.js"></script>
     <script crossorigin src="https://unpkg.com/react-dom@18/umd/react-dom.development.js"></script> 
     <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
    
    <!-- 编写React代码 -->
    <script type="text/babel">

        const root = ReactDOM.createRoot(document.querySelector("#root"));
       
        //1.将文本定义成变量
        let message = "Hello World"

        //2.监听按钮的点击
        function btnClick(){
           
            //1.1修改数据
            message = "Hello React"

            // 2.重新渲染界面
            
            rootRender()
        }
       
        //3.封装一个渲染函数
        function rootRender(){
            root.render((
            <div>
                <h2>{message}</h2>
                <button onClick={btnClick}>修改文本</button>    
            </div>
            ))
        }

        rootRender()
    </script>

</body>
</html>
相关推荐
2501_940007894 分钟前
Flutter for OpenHarmony三国杀攻略App实战 - 战绩记录功能实现
开发语言·javascript·flutter
摘星编程9 分钟前
React Native + OpenHarmony:自定义useEllipsis省略号处理
javascript·react native·react.js
2401_8590490819 分钟前
git submodule update --init --recursive无法拉取解决
前端·chrome·git
这是个栗子37 分钟前
【Vue代码分析】前端动态路由传参与可选参数标记:实现“添加/查看”模式的灵活路由配置
前端·javascript·vue.js
刘一说1 小时前
Vue 动态路由参数丢失问题详解:为什么 `:id` 拿不到值?
前端·javascript·vue.js
2601_949593651 小时前
基础入门 React Native 鸿蒙跨平台开发:Animated 动画按钮组件 鸿蒙实战
react native·react.js·harmonyos
熊猫钓鱼>_>1 小时前
动态网站发布部署核心问题详解
前端·nginx·容器化·网页开发·云服务器·静态部署
方也_arkling1 小时前
elementPlus按需导入配置
前端·javascript·vue.js
爱吃大芒果1 小时前
Flutter for OpenHarmony 实战: mango_shop 资源文件管理与鸿蒙适配
javascript·flutter·harmonyos
我的xiaodoujiao2 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 44--将自动化测试结果自动推送至钉钉工作群聊
前端·python·测试工具·ui·pytest