javascript React:未终止的JSX内容

ryhaxcpt  于 2023-02-15  发布在  Java
关注(0)|答案(3)|浏览(167)

为什么div-元素的结尾会出现错误Unterminated JSX contents?我做错了什么?

export default class Search extends Component {
  render() {
    return (
      <div class="ui icon input">
        <input type="text" placeholder="Search...">
        <i class="circular search link icon"></i>
      </div>
    );
  }
}
xmjla07d

xmjla07d1#

问题是,您忘记关闭input元素,在JSX中,您必须像在XML中一样正确关闭所有打开的tags
根据DOC
JSX是ECMAScript的一个类似XML的语法扩展,没有任何定义的语义。它旨在被各种预处理器(transpiler)用来将这些令牌转换成标准的ECMAScript。
还有一点,class是一个保留关键字,要应用任何css类而不是使用class关键字,请使用className
试试这个:

export default class Search extends Component {
   render() {
      return (
         <div className="ui icon input">
            <input type="text" placeholder="Search..."/>
            <i className="circular search link icon"></i>
         </div>
      );
    }
}
inb24sb2

inb24sb22#

您的input JSX元素未终止,它缺少结束标记。
class在Javascript中是一个保留名称,您需要使用className属性来代替。

<div className="ui icon input">
    <input type="text" placeholder="Search..." />
    <i className="circular search link icon"></i>
</div>
hgc7kmma

hgc7kmma3#

从"react"导入React{组件};
类计数器扩展组件{render(){return(
你好世界
增量);
}}
导出默认计数器;

相关问题