html引入react以及hook的使用

html引入react

效果

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

在html中能正常使用useStateuseEffect 等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">
相关推荐
hh随便起个名6 小时前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
我是小路路呀7 小时前
element级联选择器:已选中一个二级节点,随后又点击了一个一级节点(仅浏览,未确认选择),此时下拉框失去焦点并关闭
javascript·vue.js·elementui
敲敲了个代码8 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_8 小时前
列表渲染(v-for)
前端·javascript·vue.js
JustHappy8 小时前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
sg_knight8 小时前
拥抱未来:ECMAScript Modules (ESM) 深度解析
开发语言·前端·javascript·vue·ecmascript·web·esm
开发者小天8 小时前
react中useEffect的用法,以及订阅模式的原理
前端·react.js·前端框架
前端白袍9 小时前
Vue:如何实现一个具有复制功能的文字按钮?
前端·javascript·vue.js
new code Boy9 小时前
escape谨慎使用
前端·javascript·vue.js
奶球不是球10 小时前
elementplus组件中el-calendar组件自定义日期单元格内容及样式
javascript·css·css3