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>
相关推荐
明川5 分钟前
Android Gradle - ASM + AsmClassVisitorFactory插桩使用
android·前端·gradle
San306 分钟前
深度驱动:React Hooks 核心之 `useState` 与 `useEffect` 实战详解
javascript·react.js·响应式编程
布列瑟农的星空6 分钟前
webpack迁移rsbuild——配置深度对比
前端
前端小黑屋8 分钟前
查看项目中无引用到的文件、函数
前端
前端小黑屋9 分钟前
小程序直播挂件Pendant问题
前端·微信小程序·直播
flashlight_hi11 分钟前
LeetCode 分类刷题:199. 二叉树的右视图
javascript·算法·leetcode
俊男无期13 分钟前
超效率工作法
java·前端·数据库
LYFlied13 分钟前
【每日算法】LeetCode 46. 全排列
前端·算法·leetcode·面试·职场和发展
刘一说17 分钟前
Vue Router:官方路由解决方案解析
前端·javascript·vue.js