【问题标题】:React JS not renderingReact JS不渲染
【发布时间】:2015-10-07 15:44:29
【问题描述】:

我已经使用 Pycharm 作为我的 IDE,使用 Django 构建了我的项目的后端。我现在决定使用 React js 在前端进行。我从一些简单的教程开始,但无法获得渲染任何东西的代码。奇怪的是,如果我在 Atom io 中完成相同的教程并打开 html 文件,代码会按预期呈现。用 Pycharm 编写的相同代码显示为空白页。在“运行服务器”之后,我尝试在 chrome 和 firefox 中打开,但没有成功。

Project/static/our_static/js/jstest.js

    var HelloMessage = React.createClass({
        render: function () {
                return <h1>Hello {this.props.message}! </h1>;
            }
        });

    React.render(HelloMessage, message="World" , document.body);
project/templates/master_pages/helloworld.html

{% load staticfiles %}
<!DOCTYPE HTML>
<html>
  <head>
    <meta charset="utf-8">
    <title>React Hello World</title>
  </head>
  <body>
  <h1> </h1>
    <script src="http://fb.me/react-0.12.2.min.js"></script>
    <script src="http://fb.me/JSXTransformer-0.12.2.js"></script>
    <script src= '{%  static   "js/jstest.js" %}' ></script>
    
  </body>
</html>

【问题讨论】:

  • 当您执行React.render(&lt;HelloMessage message='World' /&gt;, document.body); 时会发生什么?还要将你的脚本标签移到正文之外,否则 React 会覆盖你的整个正文,因为你在做 document.body。还要看看你的静态标签输出了什么。
  • @limelights - 感谢您的快速响应。我试过“,” - 这就是代码应该是的 - 但我已经篡改了它。我已经移动了脚本标签,静态标签应该是正确的——你可以在我的 sn-ps 中看到目录。但我还是一头雾水……
  • 你能用你的静态标签执行任何javascript吗?

标签: django reactjs pycharm


【解决方案1】:

看看这个小提琴问题是你的代码在这里。

React.render(HelloMessage, message="World" , document.body);

这是反应代码。您的代码中的问题是您缺少结束的 html 标记。

React.render(<HelloMessage message="World" /> , document.body);

https://jsfiddle.net/kyoukhana/rLg9p8qL/2/

【讨论】:

    【解决方案2】:

    经过大量试验和错误后,我发现只有在脚本路径中添加 type="text/jsx" 时,我的 jsx 才会呈现。

    【讨论】:

      猜你喜欢
      • 2022-11-14
      • 2021-12-29
      • 2020-03-22
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-18
      • 1970-01-01
      相关资源
      最近更新 更多