Entonces estabas en el camino correcto. Dentro de su componentDidMount()
, podría haber terminado el trabajo implementando setInterval()
para activar el cambio, pero recuerde que la forma de actualizar el estado de un componente es a través de setState()
, por lo que dentro de su componentDidMount()
podría haber hecho esto:
componentDidMount() {
setInterval(() => {
this.setState({time: Date.now()})
}, 1000)
}
Además, usa el Date.now()
que funciona, con la componentDidMount()
implementación que ofrecí anteriormente, pero obtendrá un conjunto largo de números desagradables que se actualizan que no son legibles por humanos, pero técnicamente es el tiempo que se actualiza cada segundo en milisegundos desde el 1 de enero de 1970, pero nosotros quiere hacer de este tiempo de lectura a la forma en que los humanos tiempo de lectura, por lo que además de aprender e implementar setInterval
desea aprender sobre new Date()
y toLocaleTimeString()
y desea ponerlo en práctica, así:
class TimeComponent extends Component {
state = { time: new Date().toLocaleTimeString() };
}
componentDidMount() {
setInterval(() => {
this.setState({ time: new Date().toLocaleTimeString() })
}, 1000)
}
Tenga en cuenta que también eliminé la constructor()
función, no necesariamente la necesita, mi refactor es 100% equivalente a inicializar el sitio con la constructor()
función.
react-interval-rerender