当前位置:  开发笔记 > 编程语言 > 正文

如何解决"未捕获的TypeError:未能构建'注释':关于React JS,请使用'new'operarat ....."?

如何解决《如何解决"未捕获的TypeError:未能构建'注释':关于ReactJS,请使用'new'operarat.."?》经验,为你挑选了2个好方法。

我有一个home.jsp在体内


    
     News

在另一个example.js中,我有以下内容

alert("I am coming here ... BEEP");

var Comment = React.createClass({
      loadCommentsFromServer: function() {
        $.ajax({
          url: this.props.url,
          dataType: 'json',
          cache: false,
          success: function(data) {
            this.setState({data: data});
          }.bind(this),
          error: function(xhr, status, err) {
            console.error(this.props.url, status, err.toString());
          }.bind(this)
        });
      },
      getInitialState: function() {
        return {data: []};
      },
      componentDidMount: function() {
        this.loadCommentsFromServer();
        setInterval(this.loadCommentsFromServer, this.props.pollInterval);
      },
      render: function() {
        return (
          
); } }); ReactDOM.render( , document.getElementById('content') );

我在Chrome控制台中收到以下错误消息.

Uncaught TypeError: Failed to construct 'Comment': Please use the 'new' 
operator, this DOM object constructor cannot be called as a function.

我在home.jsp文件中添加了React js标签.

如何解决这个问题?请帮我.



1> Troy Carlson..:

也许这会帮助那些和我有同样问题的人...我只是忘了导入我试图渲染的组件(Webpack/Babel/ES6开发环境):

import { Comment } from './comment'


是的它确实有帮助!有趣的是,eslint没有找到丢失的导入.

2> Naisheel Ver..:

你无法做出响应的组件通过Comment().该错误要求您创建Comment类的实例,即这样的事情var comment = new Comment().但是,在你的问题中,我们不需要这个.


  News
  

您的React组件应该是独立的,并将用作参数ReactDOM.render(...).因此,内部Comment不应该有ReactDOM.render(...)功能.此外,锚元素单击不能调用,Comment()因为它不是一个执行渲染的函数,而是一个安装在Classinstance上的函数DOM.在单击标记时,RenderComment()应调用a ,然后再渲染组件.

var RenderComment = function RenderComment() {
  ReactDOM.render(React.createElement(
                    "div", null, " ", Comment, " "
                  ), document.getElementById("content"));
};

在这里,我们将渲染您使用的组件React.createClass.

var Comment = React.createClass({
 // Your component functions and render() method
 // No ReactDOM.render() method here
}

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有