2 回答

TA貢獻1856條經(jīng)驗 獲得超17個贊
如果準備就緒,我會更新您的checkTime()函數(shù)以返回<Ring />,否則返回 null 然后您可以:
return (
<div>
{checkTime()}
</div>
);
IE
function checkTime(){
if(time.alarmHours && time.alarmMinutes){
if(time.currentHour === time.alarmHours && time.currentMinute === time.alarmMinutes &&
time.currentSecond === '00'){
return <Ring />
}
}
return null;
}
ring不再需要。
編輯:評論中的附加問題
如果您想Ring顯示何時達到鬧鐘時間,我會更改模式并引入一個新的布爾狀態(tài)值,例如const [showRing, setShowRing] = React.useState(false)最初設置為 false 的值。checkTime()然后將不再返回任何 JSX 并且只是調用setShowRing(true)然后你會:
return (
<div>
{showRing && <Ring />}
</div>
);
IE
function checkTime(){
if(time.alarmHours && time.alarmMinutes){
if(time.currentHour === time.alarmHours && time.currentMinute === time.alarmMinutes &&
time.currentSecond === '00'){
setShowRing(true);
}
}
}
無論你想刪除<Ring />你會打電話setShowRing(false)

TA貢獻1816條經(jīng)驗 獲得超6個贊
試試這個:
let ring = <Ring />;
function checkTime(){
if(time.alarmHours && time.alarmMinutes){
if(time.currentHour === time.alarmHours && time.currentMinute === time.alarmMinutes &&
time.currentSecond === '00'){
return true;
}
}
return false;
}
...
return (
<div>
{checktime() ? ring : null}
</div>
)
添加回答
舉報