html引入react以及hook的使用

html引入react

效果

分享react demo片段的时候,如果是整个工程项目就有点太麻烦了,打开速度慢,文件多且没必要,这个时候用html就很方便。

在html中能正常使用useState 和 useEffect 等hook。

代码

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>React App</title>
</head>
<body>
  <div id="root"></div>
  <script crossorigin src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
  <script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
  <script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>

  <script type="text/babel">

    function App() {
        const [count, setCount] = React.useState(0);

        React.useEffect(() => {
        console.log('Component is mounted');
        return () => {
          console.log('Component will unmount');
        };
      }, []); 

      return (
        <div>
          <h1>Hello, React!</h1>
          <p>This is a simple React component.</p>
          <p>开始数字{count} </p>
                <button onClick={() => setCount(count + 1)}>
                    点击
          </button>
        </div>
      );
    };

    ReactDOM.render(<App />, document.getElementById('root'));
  </script>
</body>
</html>

注意

这一段很重要,type="text/babel" 和 cdn 引用错误会导致失效。

复制代码
  <script crossorigin src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
  <script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
  <script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js"></script>
	<script type="text/babel">
相关推荐
鬼手点金6 小时前
nanoGPT/nanochat 能做出 DeepSeek/Qwen 这样的大模型吗?
服务器·前端·javascript·bug·openclaw
软件技术NINI6 小时前
美妆商城html+Css+js 4页
javascript·css·html
蛋蛋的就会顺顺的6 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
码艺-Alimjan7 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
DevUp10 小时前
标着 JavaScript 的 Wiki 与知识库:既不是 CMS 也不是 SSG(番外三)
javascript·node.js·cms
kyriewen10 小时前
我上手了 Vite+ 1.0:Node 不用自己装,lint 却翻车了
前端·javascript·程序员
鹏多多11 小时前
前端是如何死去的?| 完整时间线
前端·javascript·程序员
看浪的路人11 小时前
第2讲:ReAct 模式从零实现——不用框架,手写一个 Agent 内核
前端·react.js·前端框架
古夕11 小时前
iframe 授权失败时露出 60000 JSON 的复盘
前端·javascript
程序员Sunday12 小时前
ES Module 和 CommonJS 有什么区别?循环依赖时会发生什么?
前端·javascript·面试