React.js - 目标容器不是DOM元素

问题描述 投票:0回答:1

试图渲染反应组件:

var wrapper = document.getElementById('wrapper');
console.log(wrapper);
ReactDOM.render(
  React.createElement(components.WrapperComponent),{modules_list:modules_list},wrapper);

给我:

错误:_registerComponent(...):目标容器不是DOM元素。

我知道当你在html文档正确加载之前尝试执行react时会抛出此错误,但我的脚本标记位于文档的底部,就在结束body标记之前。当名称不匹配时,也可能发生这种情况,但我确信我的文档中存在一个带有id'wrapper'的div。当我在console.log(包装器)时,它给了我对象,它没有未定义,所以idk为什么反应拒绝渲染它。

ps:我正在使用RequireJS require函数“导入”react组件:

requirejs(['jsx!layout/WrapperComponent'], function (WrapperComponent) {
        components.WrapperComponent = WrapperComponent;
        render();
    });

然后render()函数尝试渲染为上面显示的。

我的HTML文档的一部分:

<body class="navbar-top has-detached-right">

    <div id='wrapper'> .... </div>
javascript reactjs requirejs
1个回答
1
投票

ReactDom.render的第二个参数应该是dom容器。但是你放了{modules_list:modules_list}。我想你的意思是

ReactDOM.render(React.createElement(components.WrapperComponent, {modules_list:modules_list}),wrapper))
© www.soinside.com 2019 - 2024. All rights reserved.