Quiero hacer una aplicación para mostrar la aplicación en vivo en dispositivos grandes. Acabo de crear la función para verificar el tiempo por cada segundo (solo para sim).
El estado de tiempo funciona bien en la pantalla, pero si verifico el artista "ahora mismo" aquí hay un problema. Cada vez que se actualiza el estado, el nombre que se muestra salta entre el estado nuevo y el antiguo.
¿Dónde está el problema? Gracias...
import React, { useState } from "react"; import Artist from "../Artist"; import Database from "../Data.json" const Engine = () => { const [data, setData] = useState(Database); const [hour, setHour] = useState(null); const [minute, setMinute] = useState(null); const [second, setSecond] = useState(null); const [nowArtist, setNowArtist] = useState(''); // Update time every second // const updateTime = () => { // const h = new Date().getHours(); // const h = 16; const m = new Date().getMinutes(); const s = new Date().getSeconds(); setHour(h); setMinute(m); setSecond(s); } const updateArtis = () => { data.stage1.filter(el => { if(el.startHour === hour) { setNowArtist(el) } }) } setInterval(() => { updateTime(); updateArtis(); }, 1000); return ( <Artist name={nowArtist.name} /> ) } export default Engine;