reactjs - 如何将 JSX 文件引用到 HTML 页面

标签 reactjs jsx

我在 HTML 页面中引用了 JSX 文件,但该页面没有显示任何内容。

HTML (Index.html)

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My First React Example</title>
  </head>
  <body>
    <div id="container"></div>
    <script src="https://***/react-15.0.0.js"></script>
    <script src="https://***/react-dom-15.0.0.js"></script>
    <script type="text/javascript" src="script.js"></script>
  </body>
</html>

JSX(脚本.js)

var CommentBox = React.createClass({
  render: function() {
    return (
      <div className="commentBox">
        Hello, world! I am a CommentBox.
      </div>
    );
  }
});


ReactDOM.render(
  <CommentBox />,
  document.getElementById('container')
);

我已经尝试将文件扩展名更改为 .jsx/.js,但仍然没有成功。

最佳答案

使用 babel-standalone 来转换你的 JSX 代码。在脚本类型中也使用 text/babel

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My First React Example</title>
  </head>
  <body>
    <div id="container"></div>
    <script src="https://***/react-15.0.0.js"></script>
    <script src="https://***/react-dom-15.0.0.js"></script>
    <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
    <script type="text/babel" src="script.js"></script>
  </body>
</html>

脚本.js

var CommentBox = React.createClass({
  render: function() {
    return (
      <div className="commentBox">
        Hello, world! I am a CommentBox.
      </div>
    );
  }
});


ReactDOM.render(
  <CommentBox />,
  document.getElementById('container')
);

但是我会推荐你​​使用 webpack 来使用 babel-loader 转译你的代码

关于reactjs - 如何将 JSX 文件引用到 HTML 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44075762/

相关文章:

visual-studio-code - 如何自动将jsx或tsx转js编译成visual studio代码?

javascript - 使用 Node.js 在服务器上呈现 HTML

reactjs - 如何将 React 表单数据添加到 Firebase 实时数据库?

reactjs - 使用 Bootstrap "prepend"和 react-select

reactjs - 如何在 React JS 中将 const 的值从一个 .js 文件传递​​到另一个文件?

javascript - Reactjs在功能组件中调用组件后更新状态

javascript - 显示本地 JSON 文件中的数据

reactjs - react/jsx-a11y eslint 为控件/标签抛出意外错误

javascript - React Virtual Dom Diff 重置 CSS 动画

reactjs - 修复react create app第三方导入中未定义 'define' no-undef