Javascript Ionic Reactjs分析错误:基于选择框呈现元素时需要表达式

Javascript Ionic Reactjs分析错误:基于选择框呈现元素时需要表达式,javascript,reactjs,ionic-framework,react-hooks,Javascript,Reactjs,Ionic Framework,React Hooks,我有一个select元素,有两个选项,分别是检查和咨询。如果用户选择Consultation我想渲染一个元素,它是一个时间选择器。但是如果用户选择检查,它将不会呈现特定元素。我尝试在return中使用条件语句,但出现了一些问题 const Tab2: React.FC = () => { const [schedType, setschedType] = useState(''); const [selectedDate, setSelectedDate] = useState('

我有一个select元素,有两个选项,分别是
检查
咨询
。如果用户选择
Consultation
我想渲染一个元素,它是一个时间选择器。但是如果用户选择
检查
,它将不会呈现特定元素。我尝试在return中使用条件语句,但出现了一些问题

const Tab2: React.FC = () => {
  const [schedType, setschedType] = useState('');
  const [selectedDate, setSelectedDate] = useState('');

  return (
    <IonPage>
      <IonHeader>
        <IonToolbar>
          <IonTitle>Book Schedule</IonTitle>
        </IonToolbar>
      </IonHeader>
      <IonContent>
      <IonItem>
        <IonLabel>Select Appointment</IonLabel>
        <IonSelect onIonChange={e => setschedType(e.detail.value!)}>
          <IonSelectOption value="Consultation">Consultation</IonSelectOption>
          <IonSelectOption value="Examination">Examination</IonSelectOption>
        </IonSelect>
      </IonItem>
        <IonItem>
          <IonLabel>Select Date</IonLabel>
          <IonDatetime displayFormat="MMM D" min="2015" max="2030" value={selectedDate} 
          onIonChange={e => setSelectedDate(e.detail.value!)}></IonDatetime>
      </IonItem>

      if(schedType == "Consultation"){
       return(
        <IonItem>
          <IonLabel>Time</IonLabel>
          <IonDatetime
            hourValues='1,2,3,4,5,7,8'
            displayFormat="hh:mm A"
            minuteValues="0,30"
            value={selectedDate} onIonChange={e => setSelectedDate(e.detail.value!)}
          ></IonDatetime>
        </IonItem>
          )
        }

      </IonContent>
    </IonPage>
  );
};
const Tab2:React.FC=()=>{
const[schedType,setschedType]=useState(“”);
常量[selectedDate,setSelectedDate]=使用状态(“”);
返回(
图书一览表
选择约会
setschedType(e.detail.value!)}>
咨询
检查
选择日期
setSelectedDate(例如detail.value!)}>
如果(schedType==“咨询”){
返回(
时间
setSelectedDate(例如detail.value!)的值
>
)
}
);
};

离子与react在声明道具和状态方面似乎有所不同。谁能告诉我这有什么问题,我该怎么办?谢谢。

要在jsx中内联此条件,请执行以下操作:

{schedType === "Consultation" && (
  <IonItem>
    ...
  </IonItem>
)}
{schedType==“咨询”&&(
...
)}

文档:

我得到了相同的错误
解析错误:预期表达式
jsx
tsx
是否具有不同的结构?因为在爱奥尼亚its
tsx
中,你能给出一个你尝试过的完整例子吗?为了清楚起见,应该只有一个
返回
现在可以了,先生。
tsx
文件与
jsx
文件不同吗?我试过react js,对我来说,它有一些不同于ionic的东西,就是
tsx
,回答“是
tsx
不同于
jsx
”。是
tsx
extensions代表一个包含jsx语法的typescript文件,
jsx
代表带有jsx的普通javascript。