javascript - 添加react到静态html

标签 javascript html reactjs frontend webstorm

我想在静态 HTML 页面的一个 div 中添加一个 React 组件。我这样做而不是将整个页面转换为 React,因为我只需要对网页的少数部分使用 React。我按照 https://reactjs.org/docs/add-react-to-a-website.html 上的说明进行操作。我的问题是:

  1. 这样做可以吗,还是建议我完全用 React 实现我的网站?
  2. 我做了上述页面告诉我的事情,但是当我在浏览器上显示我使用React的部分时,它没有得到实现(我的IDE是WebStorm)。是否有一个特定的脚本(例如使用 React 框架时的yarn start)我必须运行才能编译?

最佳答案

查看这个最小的示例。您需要包含 3 个脚本

  • react.development.js (the react lib)
  • react-dom.development.js (react lib to interact with dom)
  • babel.min.js (converts react JSX into browser compatible JS)

<!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8" />
        <title>Hello World</title>
        <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
        <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
        
        <!-- Don't use this in production: -->
        <script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
      </head>
      <body>
        <div id="root"></div>
        <script type="text/babel">
          function HelloWorld(props){
            return <h1>{`Hello, world! ${props.name}`}</h1>;
          }
          ReactDOM.render(
            <HelloWorld name="James"/>,
            document.getElementById('root')
          );
    
        </script>
      </body>
    </html>

注意:这是尝试 React 的好方法,但它不适合生产。 它在浏览器中使用 Babel 缓慢编译 JSX,并使用 React 的大型开发构建。

来源:https://raw.githubusercontent.com/reactjs/reactjs.org/master/static/html/single-file-example.html

关于javascript - 添加react到静态html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58949220/

相关文章:

reactjs - 如何使用本地 tinymce js 在 React 中加载 tinymce 编辑器

javascript - 编辑 : How can I dynamically create divs?

javascript - React 和 ES6 继承

javascript - $(window).resize() 和 $(document).ready() 计算不同的值

html - 在 div#wrapper 内按比例缩放四列(保持纵横比)以响应视口(viewport)

javascript - 使用 NodeJS 上传多个图像时 POST net::ERR_INSUFFICIENT_RESOURCES

javascript - 如何在 Javascript 中获取 HTML 的非 DOM 属性

html - 如何在 HTML 标记中显示函数值并通过 addEventListener 单击返回值?

javascript - 如何在每个网页中包含重复的内容?

javascript - JS Regex排除一系列特定数字