亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“JSX.IntrinsicElements”類型上不存在屬性“元素”

“JSX.IntrinsicElements”類型上不存在屬性“元素”

慕容708150 2023-04-14 17:25:46
我有這個元素(registroUsuario): const registroUsuario =  <div className="contenedor_central"> <strong>Completá tus datos</strong>  <IonItem>   <IonLabel position="floating">Nombre</IonLabel>   <IonInput ></IonInput> </IonItem> <IonItem>   <IonLabel position="floating">Apellido</IonLabel>   <IonInput ></IonInput> </IonItem> <IonItem>   <IonLabel position="floating">E-mail</IonLabel>   <IonInput></IonInput> </IonItem> <IonItem>   <IonLabel position="floating">Clave</IonLabel>   <IonInput ></IonInput> </IonItem></div>;然后我想在這個類中使用那個元素:class RegistroNuevaCuenta extends Component{  state = {    isActive:false }  handleShow = ()=>{  this.setState({      isActive: true  })}handleHide = () =>{  this.setState({      isActive: false  })} render(){      if (this.state.isActive) {      return (        <registroUsuario></registroUsuario>      );    } else {      return (        <div>                  <Boton name="Nueva cuenta de usuario" onClick={this.handleHide}></Boton>          <Boton name="Nueva cuenta de servicio" onClick={this.handleShow}></Boton>        </div>     );    }       }};但是當我嘗試在以下位置使用 registroUsuario 時:if (this.state.isActive) {          return (            <registroUsuario></registroUsuario>          );我得到:JSX.Element 屬性“registroUsuario”在類型“JSX.IntrinsicElements”上不存在我做錯了什么?提前致謝。
查看完整描述

1 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

以小寫字母開頭的元素被假定為標準的 html 標簽,例如<div>, 或<a>。對于自定義組件,您需要使用大寫字母。


因此,如果registroUsario要成為一個組件,您需要將其重命名為RegistroUsuario. 此外,它目前實際上不是一個組件,因為它不是一個函數(也不是一個類)。所以把它改成這樣:


const RegistroUsuario = () => (

? <div className="contenedor_central">

? ?<strong>Completá tus datos</strong>

? ?<IonItem>

? ? ?<IonLabel position="floating">Nombre</IonLabel>

? ? ?<IonInput ></IonInput>

? ?</IonItem>

? ?<IonItem>

? ? ?<IonLabel position="floating">Apellido</IonLabel>

? ? ?<IonInput ></IonInput>

? ?</IonItem>

? ?<IonItem>

? ? ?<IonLabel position="floating">E-mail</IonLabel>

? ? ?<IonInput></IonInput>

? ?</IonItem>

? ?<IonItem>

? ? ?<IonLabel position="floating">Clave</IonLabel>

? ? ?<IonInput ></IonInput>

? ?</IonItem>

? </div>

)

或者,如果您是有意不創建組件的,則保留registroUsuario原樣,并刪除 return 語句中的 JSX 尖括號:


if (this.state.isActive) {

? return registroUsuario;

}


查看完整回答
反對 回復 2023-04-14
  • 1 回答
  • 0 關注
  • 1316 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號