有什么简单的方法可以根据 if 条件的结果将 React 组件渲染到 App.js 中?我有时钟应用程序,当我定义的闹钟值等于当前时间时,它应该“响铃”。这个“响铃”效果我想成为另一个组件,例如 Ring.js 将在当前时间等于闹钟时间时呈现,并且它将包含来自状态 a 的文本我可以通过单击按钮简单地卸载它。
这是我的函数,它每秒调用一次,以检查 alarmHours 状态是否有值。
function checkTime(){
if(time.alarmHours && time.alarmMinutes){
if(time.currentHour === time.alarmHours && time.currentMinute === time.alarmMinutes &&
time.currentSecond === '00'){
//VALUES ARE EQUAL ,ALARM IS RINGING,RENDER COMPONENT
}
}
}
我的第一个想法是创建空变量,如果满足条件,只需将 Ring.js 组件插入该变量即可。
let ring;
function checkTime(){
if(time.alarmHours && time.alarmMinutes){
if(time.currentHour === time.alarmHours && time.currentMinute === time.alarmMinutes &&
time.currentSecond === '00'){
ring = <Ring />
}
}
}
然后,只需在 App.js 的 Return() 中渲染该变量,就像这样。
Return(
<div>
{ring}
</div>
)
但它不起作用,什么都没有呈现。
我试图查看官方 React 文档,他们提供的示例很少,但我真的不知道如何在我的案例中实施该方法。如果满足该条件,我不知道如何呈现该组件。有人可以帮我吗?我会很感激的。谢谢你。
codesandbox 链接:https ://codesandbox.io/s/rough-paper-xv0wi?file=/src/App.js
梵蒂冈之花
慕慕森
潇湘沐
随时随地看视频慕课网APP
相关分类