Yani doğru yoldaydın. İçerideki componentDidMount()
Eğer uygulayarak işi bitmiş olabilirdi setInterval()
devlet ile gönderildiği bileşenleri güncelleştirmek için bir yol değişikliğini tetikleyen, ancak şunu unutmayın setState()
bu yüzden içeride, senin componentDidMount()
bunu yapmış olabilir:
componentDidMount() {
setInterval(() => {
this.setState({time: Date.now()})
}, 1000)
}
Ayrıca, yukarıda sunduğum uygulamayla Date.now()
hangisinin işe yaradığını kullanıyorsunuz componentDidMount()
, ancak insan tarafından okunamayan uzun bir kötü sayılar dizisi alacaksınız, ancak teknik olarak 1 Ocak 1970'ten bu yana milisaniye cinsinden her saniyeyi güncelleme zamanı, ancak biz böylece öğrenme ve uygulamaya ek olarak, biz okuma zamanını insanlarda nasıl bu kez okunabilir yapmak istiyorum setInterval
hakkında öğrenmek istediğiniz new Date()
ve toLocaleTimeString()
ve o kadar gibi uygulamaya koyacak:
class TimeComponent extends Component {
state = { time: new Date().toLocaleTimeString() };
}
componentDidMount() {
setInterval(() => {
this.setState({ time: new Date().toLocaleTimeString() })
}, 1000)
}
Ayrıca constructor()
fonksiyonu kaldırdım, buna ihtiyacınız yok, benim refaktörüm siteyi constructor()
fonksiyonla başlatmaya% 100 eşdeğer .
react-interval-rerender