Ich möchte die aktuelle Zeit um 5 Minuten erhöhen und sie in this.state.date speichern.wie Minuten in Date() in react-native?
jedoch
this.setState({
date: new Date() + new Date(0,0,0,0,0,5,0),
});
gibt mir einige seltsame Fehler, sagen
`props.date.getTime ist keine Funktion. (In 'props.date.getTime()', 'props.date.getTime' ist nicht definiert)
DatePickerIOS_render DatePickerIOS.ios.js: 125
EDITED: Nach this Beitrag habe ich auch unten versucht,
this.setState({
date: this.state.date.setMinutes((new Date()).getMinutes()+5)
});
aber es gibt mir immer noch die gleiche Fehlermeldung. Wie kann man Date() in react-native korrekt hinzufügen?
Btw, Ich benutze datepickerios in einem anderen Teil der App, und nicht sicher, warum der Fehler zu DatePickerIOS.ios.js in erster Linie verwandt ist. Der andere Teil der App, der das DatePickerIOS verwendet, funktioniert ohne Fehler.
wieder ediert:
Unten ist die volle Funktion. Diese Funktion wird von einem SegmentedControlIOS mit den Werten ['5min von jetzt', '15min von jetzt', '30min von jetzt', 'benutzerdefiniert'] aufgerufen.
_onTimeChange = (event) => {
switch (event.nativeEvent.selectedSegmentIndex) {
case 0:
// 5min
return this.setState({
date: this.state.date.setMinutes((new Date()).getMinutes()+5),
time: this.state.date.toLocaleTimeString()
});
case 1:
// 15min
return this.setState({
date: this.state.date.setMinutes((new Date()).getMinutes()+15),
time: this.state.date.toLocaleTimeString()
});
case 2:
// 30min
return this.setState({
date: this.state.date.setMinutes((new Date()).getMinutes()+30),
time: this.state.date.toLocaleTimeString()
});
case 3:
// show modal with datepicker (this one works fine)
return this.setModalVisible(true);
}
}
Was passiert: Wenn ich einmal Auswahl aus der segmentierten Steuerung zu ändern, ein gelber Warnbalken mit Requisiten Fehlermeldung wird an der Unterseite meines Simulator gezeigt. Wenn ich die Auswahl erneut ändere, erscheint der rote Bildschirm mit '_this5.state.date.setMinutes ist keine Funktion'.
So sieht es aus wie
date: this.state.date.setMinutes((new Date()).getMinutes()+5)
Minuten nicht hinzufügen, aber wenn ich es zweimal tun es endet in Fehler auf. Bitte helfen!
Mögliches Duplikat von [Wie 30 Minuten zu einem JavaScript Date-Objekt hinzufügen?] (Http://stackoverflow.com/questions/ 1197928/how-to-add-30-minutes-to-a-javascript-date-object) – Kerumen
Nun, da kam ich auf die Idee von this.state.date.setMinutes ((new Date()). GetMinutes() +5), aber es funktioniert nicht ... –