javascript 输入Reactjs需要对应的JSX结束标记

6bc51xsx  于 2023-03-28  发布在  Java
关注(0)|答案(8)|浏览(151)

在Reactjs中使用输入字段创建组件时发生错误Error: Parse Error: Line 47: Expected corresponding JSX closing tag for input at http://localhost/chat-react/src/script.js:47:20 </div>

var Main = React.createClass({
    render: function() {
        return (
            <div className="card-action">
                <i class="mdi-action-account-circle prefix"></i>
                <input id="icon_prefix" type="text" class="validate">
            </div>
        );
    }
});
ar7v8xwq

ar7v8xwq1#

您需要在末尾使用/>关闭input元素。

<input id="icon_prefix" type="text" class="validate" />
qij5mzcb

qij5mzcb2#

当我们不关闭一个html标签时就会发生这种情况。
确保所有html标签都已关闭。
在我的例子中,它是<br>标记。它应该是<br />
尝试暂时删除一段代码,直到找到缺少的html标记关闭。

s3fp2yjn

s3fp2yjn3#

如果您的组件顺序错误,也会发生此错误。
示例:此错误:

<ComponentA> 
    <ComponentB> 

    </ComponentA> 
 </ComponentB>

正确方法:

<ComponentA> 
    <ComponentB>

    </ComponentB>  
  </ComponentA>
chy5wohz

chy5wohz4#

所有标签都必须有封闭标签。在我的例子中,hrinput元素没有正确关闭。
父错误为:*JSX元素'div'没有对应的结束标记 *,原因如下:

<hr class="my-4">
<input
  type="password"
  id="inputPassword"
  class="form-control"
  placeholder="Password"
  required
 >

修复:

<hr class="my-4"/>
<input
 type="password"
 id="inputPassword"
 class="form-control"
 placeholder="Password"
 required
/>

由于子元素错误,父元素将显示错误。因此,从最内部的元素开始调查,直到父元素。

rnmwe5a2

rnmwe5a25#

你需要在最后用/>关闭input元素。在React中,我们必须关闭每个元素。你的代码应该是:

<input id="whatever-id" type="text" class="validate" />
hof1towb

hof1towb6#

您必须关闭所有标签,如,等,这是不显示。

pepwfjgg

pepwfjgg7#

所有这些答案都是有效的,但我今天多次遇到这个问题,使用良好的封闭标记。如果发生在你身上,只需中止并再次运行npm start

0qx6xfy6

0qx6xfy68#

小心:

<h1>aergawergerg</h1>
<h1>aergawergerg<h1/>

初学者的错误。

相关问题