Ich habe versucht zu lernen reagieren und nächste.React/Next Uhr Beispiel funktioniert nicht auf localhost
Verwenden Sie dieses Clock-Beispiel, das hier auf codepen gegeben wird, gefunden in den reaktiven Dokumenten here.
Ich habe versucht, es auf einer lokalen Site zu implementieren.
Clock.js - in/Komponenten
export default class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {date: new Date()};
}
componentDidMount() {
this.timerID = setInterval(
() => this.tick(),
1000
);
}
componentWillUnmount() {
clearInterval(this.timerID);
}
tick() {
this.setState({
date: new Date()
});
}
render() {
return (
<div>
<h2>It is {this.state.date.toLocaleTimeString()}.</h2>
</div>
);
}
}
index.js - in/pages
import Clock from '../components/Clock'
export default() => (
<div>
<Header />
<div id="contentWrap">
<div><Clock /></div>
</div>
</div>
)
Lauf npm laufen dev dann geht auf localhost: 3000, wird es zunächst laden, aber es wird nicht Update jede Sekunde wie auf Codepen.
Habe ich irgendwo etwas verpasst, das es erlaubt zu aktualisieren?
Gibt es JavaScript-Fehler? 404s? Ihr Problem ähnelt dem, was Sie sehen werden, wenn das serverseitige Rendering funktioniert, aber das clientseitige Mounten nicht stattgefunden hat. – Jacob
Der Code scheint korrekt zu sein. Es funktioniert - gibt es eine Fehlermeldung auf der Konsole? Ist das Intervall aktiv - können Sie der tick-Funktion einen console.log() - Aufruf hinzufügen? –