繁体   English   中英

如何正确获取此组件以进行渲染?

[英]How can I correctly get this component to render?

我有一个定义的组件,Pragmatometer,我试图将其渲染为div#main:

        React.render(React.createElement(Pragmatometer,
          {}), document.getElementById('main'));

Chrome的JavaScript控制台显示,ReactJS的行号为数千:

Uncaught Error: Invariant Violation: _registerComponent(...): Target container is not a DOM element.

我的HTML是:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Pragmatometer</title>
    <style type="text/css">
        body
            {
            font-family: Verdana, Arial, sans;
            }
    </style>
</head>
<body>
    <h1>Pragmatometer</h1>
    <div id="main"></div>
    <script src="//cdnjs.cloudflare.com/ajax/libs/react/0.12.2/react.js">
    </script>
    <script
      src="//cdnjs.cloudflare.com/ajax/libs/showdown/0.3.1/showdown.min.js">
    </script>

    <script src="/js/site.js"></script>
</body>
</html>

是该React.render()调用中的错误,还是有关实用程序组件的问题? 这类问题通常有哪些嫌疑人?

谢谢,

现在通过ReactDOM.render()完成渲染

ReactDOM.render(
    React.createElement('Pragmatometer',
        null, 'Hello'),
        document.getElementById('app')
    );

这有效

React.render(
      React.createElement('Pragmatometer',
          null, 'Hello'),
        document.getElementById('main')
      );

如果要使用不带单引号的Pragmatometer'',则应将其设置为abd,我想知道为什么不使用jsx,编写组件非常容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM