Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';在不破坏代码的情况下删除ReactJS元素_Javascript_Reactjs - Fatal编程技术网

Javascript Can';在不破坏代码的情况下删除ReactJS元素

Javascript Can';在不破坏代码的情况下删除ReactJS元素,javascript,reactjs,Javascript,Reactjs,我对React JS中的内部括号有问题。我想删除此网页底部的评论表单: 生成注释表单的完整代码如下所示: var AddPostForm = React.createClass({ displayName: "AddPostForm", createPost: function (event) { event.preventDefault(); // take the data from the form and create an object var post

我对React JS中的内部括号有问题。我想删除此网页底部的评论表单:

生成注释表单的完整代码如下所示:

var AddPostForm = React.createClass({ displayName: "AddPostForm",
  createPost: function (event) {
    event.preventDefault();
    // take the data from the form and create an object
    var post = {
      title: this.refs.title.value,
      name: this.refs.name.value,
      desc: this.refs.desc.value,
      image: this.refs.image.value };

// add the post to the App State
this.props.addPost(post);
this.refs.postForm.reset();


},
  render: function () {
    return (
      React.createElement("div", { className: "callout secondary form-area" },
      React.createElement("h5", null, "Comments!"),
      React.createElement("form", { className: "post-edit", ref: "postForm", onSubmit: this.createPost },
      React.createElement("label", null, "Post Title",
      React.createElement("input", { type: "text", ref: "title", placeholder: "Post Title", required: true })),

      React.createElement("label", null, "Your Name",
      React.createElement("input", { type: "text", ref: "name", placeholder: "Full Name required", required: true })),

      React.createElement("label", null, "Tell the World",
      React.createElement("textarea", {
        ref: "desc",
        placeholder: "Write your post here", required: true })),

  React.createElement("label", null, "Image URL - ", React.createElement("span", { className: "highlight" }, "use this one to test ''"),
  React.createElement("input", { type: "url", ref: "image", placeholder: "The URL of the featured image for your post", required: true })),

  React.createElement("button", { type: "submit", class: "button" }, "Add Post"))));

  } });
1) 我删除了第227行到第267行

2) 我删除了以下行
React.createElement(AddPostForm,{addPost:this.addPost}))

3) 我删除了第222行中的右括号}

4) 删除}}的各种组合;还是违反了规则


我需要删除哪些行才能在不破坏代码的情况下删除注释表单?

我删除了代码的注释部分。对于这样做,我给你的主要建议是使用prettier之类的东西格式化代码。它让您更好地了解嵌套大括号和圆括号的位置

我注释掉了整个AddPostForm变量声明。以下几行:

    // React.createElement(
    //   'div',
    //   { className: 'list-of-posts' },
    //   Object.keys(this.state.posts).map(this.renderPost)
    // ),

    // React.createElement(AddPostForm, { addPost: this.addPost })
这些行是呈现AddPostForm的主要原因。尽管如果AddPostForm未被使用,那么在代码中使用它是没有意义的


根据要求,以下是我的思考过程:

虽然我会注意到,控制台消息大多没有帮助

我取消了所有注释以使笔恢复运行状态,然后将脚本代码粘贴到本地版本的VSCode中,并使用prettier对其重新格式化。然后,我找到了呈现有问题部分的代码段,并将它们注释掉

不幸的是,一旦括号和大括号不平衡,你通常需要做大量的工作来找出它们应该在哪里

我只是将脚本粘贴到vscode中,以查看是否可以获得它:

它首先告诉我第64行有一个错误:通过这个错误,我意识到有一个额外的逗号告诉它,它认为我们仍然在定义参数值。即
funct(a,

所以我去掉了那个逗号,然后它告诉我,
,“expected
,这是当事情没有结束时,它在一个参数的末尾所说的

我开始添加括号,指出VSCode告诉我这些括号匹配的位置。在图片中有点难以看到,但这是第三次
React.createElement
调用中的开放参数


然后,我添加了其余的括号,直到返回函数中的括号匹配为止。此时错误消失。

谢谢。我会确保以后的代码格式更好。你能了解一下如何使用控制台跟踪错误吗?有没有在线工具帮你修复嵌套的括号?我不知道是否有e是专门帮助你修复嵌套括号的在线工具,但我补充了我是如何从问题的两个方面着手的。大多数情况下,我只是把它带到一个我熟悉的工具上,然后一直解决下一个问题,直到解决完为止。这是一个很好的答案。我认为它会帮助很多人。我想你必须使用conso尽可能地简化代码,对代码进行推理,并使用一些尝试和错误。我使用相同的过程,但您让它更清晰了。我刚刚将它分享给Reddit上的/r/learnjavascript。