前言
我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷 微信公众号前端小歌谣 关注公众号带你进入前端学习交流群
小结
/*
* React.createElement()
* - 用来创建一个React元素
* - 参数:
* 1.元素的名称(html标签必须小写)
* 2.标签中的属性
* - class属性需要使用className来设置
* - 在设置事件时,属性名需要修改为驼峰命名法
* 3.元素的内容(子元素)
* - 注意点:
* React元素最终会通过虚拟DOM转换为真实的DOM元素
* React元素一旦创建就无法修改,只能通过新创建的元素进行替换
*
*
* */
代码案例
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>三个API</title> <script src="script/react.development.js"></script> <script src="script/react-dom.development.js"></script> </head> <body> <button id="btn">我是按钮</button> <div id="root"></div> <script> /* * React.createElement() * - 用来创建一个React元素 * - 参数: * 1.元素的名称(html标签必须小写) * 2.标签中的属性 * - class属性需要使用className来设置 * - 在设置事件时,属性名需要修改为驼峰命名法 * 3.元素的内容(子元素) * - 注意点: * React元素最终会通过虚拟DOM转换为真实的DOM元素 * React元素一旦创建就无法修改,只能通过新创建的元素进行替换 * * * */ // 创建一个React元素 const button = React.createElement('button', { type: 'button', className: 'hello', onClick: () => { alert('你点我干嘛') } }, '点我一下'); // 创建第一个div const div = React.createElement('div', {}, '我是一个div', button); // 获取根元素 const root = ReactDOM.createRoot(document.getElementById('root')); // 将元素在根元素中显示 root.render(div); // 获取按钮对象 const btn = document.getElementById('btn'); btn.addEventListener('click', ()=>{ // 点击按钮后,修改div中button的文字为click me const button = React.createElement('button', { type: 'button', className: 'hello', onClick: () => { alert('你点我干嘛') } }, 'click me'); // 创建一个div const div = React.createElement('div', {}, '我是一个div', button); // 修改React元素后,必须重新对根元素进行渲染 // 当调用render渲染页面时,React会自动比较两次渲染的元素,只在真实DOM中更新发生变化的部分 // 没发生变化的保持不变 root.render(div); }); </script> </body> </html>