相关疑难解决方法(0)

不变违规:_registerComponent(...):目标容器不是DOM元素

在制作了简单的React示例页面后,我收到此错误:

未捕获错误:不变违规:_registerComponent(...):目标容器不是DOM元素.

这是我的代码:

/** @jsx React.DOM */
'use strict';

var React = require('react');

var App = React.createClass({
  render() {
    return <h1>Yo</h1>;
  }
});

React.renderComponent(<App />, document.body);
Run Code Online (Sandbox Code Playgroud)

HTML:

<html>
<head>
  <script src="/bundle.js"></script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

javascript dom reactjs

372
推荐指数
6
解决办法
22万
查看次数

使用React和Webpack编写可嵌入的Javascript插件

我希望能够将我的React应用程序与Webpack捆绑在一起,以便放入CDN的分布式副本可以通过一堆与客户端相关的配置进行获取,调用和初始化.

看完这个这个,我设置了我的WebPack项文件,如下所示:

// ... React requires etc.

(() => {
  this.MyApp = (config) => {
    // some constructor code here
  }

  MyApp.prototype.init = () => {
    ReactDOM.render(<MyReactApp config={MyApp.config} />, someSelector);
  }
})();
Run Code Online (Sandbox Code Playgroud)

想法是在我的客户端,我可以做以下事情:

<script src="./bundle.js" type="text/javascript"></script>
<script type="text/javascript">
  MyApp.init({
    some: "config"
  });
</script>
Run Code Online (Sandbox Code Playgroud)

我的MyApp#init函数会将我的React应用程序渲染到客户端的某个容器中.

我是否以正确的方式思考这个问题?是否有更简单或更有效的方法来解决这个问题?

我的错误是Uncaught TypeError: Cannot set property 'MyApp' of undefined,因为this在IIFE内部undefined.我真的很想了解为什么会发生这种情况以及如何解决它的建议.

提前致谢!

javascript reactjs webpack

29
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×2

reactjs ×2

dom ×1

webpack ×1