Я не уверен, что мне здесь не хватает.Я новичок в React и JS в целом.Ниже приведен полный код одного файла вместе с фрагментом, который я заинтересован в исправлении.
Я пытаюсь использовать setInterval для обновления состояния каждую секунду, чтобы время заново отображалось и обновлялось соответственноэкран.Консоль выходит из системы «Привет!»Заявление каждую секунду, но время никогда не обновляется.Что мне здесь не хватает?
Спасибо за любую помощь!
import React, { Component } from 'react';
import DateDay from '../Date/Date';
import Time from '../Time/Time';
import './timedate.css'
class TimeDate extends Component{
state = {
curDate: '',
curTime: '',
};
componentDidMount() {
const optionsDate = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
const optionsTime = { hour: '2-digit', minute: '2-digit' };
const today = new Date();
setInterval( () => {
this.setState({curDate : today.toLocaleString("en-us", optionsDate)}),
this.setState({curTime : today.toLocaleString("en-us", optionsTime).slice(0, -3)}) //slice removes the AM/PM
console.log('Hello!')
},1000)
}
render () {
let { curDate } = this.state;
let { curTime } = this.state;
return (
<div className="timedate">
<DateDay
dateDay={curDate}
/>
<Time
time={curTime}
/>
</div>
);
}
}
export default TimeDate;