0

我一直试图让它工作很长时间,但无论我做什么指令都找不到我的反应组件。

这些是我包括的文件:

<script src="bower_components/react/JSXTransformer.js"></script>
<script src="bower_components/react/react-with-addons.js"></script>
<script src="bower_components/ngReact/ngReact.min.js"></script>
<script src="node_modules/babel-core/browser.js"></script>
<script src="static/react-components.min.js" type="text/babel"></script>
<script src="static/main.min.js"></script>

我的组件在react-components.min.js文件中的位置,我的所有角度代码都在main.min.js.

据说您(可能(?))需要使用浏览器中的转换器才能使该指令起作用,因此我尝试使用 babel,但这也不起作用。

这是我的反应组件:

<react-component name="Chat" watch-depth="reference"></react-component>

在 react-components.min.js 文件中,我得到了一个名为“Chat”的组件:

var Chat = React.createClass({
   render: function() {
    return <footer className="chat chat--dark">Hello John</footer>;
  }
});

core.value('Chat', Chat); // My application is bound to the core module

但它没有找到它.. 什么可能是错的,因为似乎没有其他人有这个问题?

4

1 回答 1

1

JSX 编译问题

我相信这是一个编译错误。我通过在线编译器 ( https://babeljs.io/repl/ ) 运行您的代码,将您当前的组件代码与下面的块交换出来,看看它是否有效:

"use strict";

var Chat = React.createClass({
  displayName: "Chat",

  render: function render() {
    return React.createElement(
      "footer",
      { className: "chat chat--dark" },
      "Hello John"
    );
  }
});

core.value('Chat', Chat); // My application is bound to the core module

JSXTransformer 已弃用,您应该在使用 Babel 的构建步骤中添加。 https://facebook.github.io/react/blog/2015/06/12/deprecating-jstransform-and-react-tools.html

查看我的博客文章,了解添加 JSX 和 ES6 支持的详细信息。 http://blog.tylerbuchea.com/migrating-angular-project-to-react/

于 2016-04-09T20:51:35.253 回答