我想將5分鐘添加到當前時間並將其存儲到this.state.date。如何在react-native中添加Date()的分鐘數?
然而,
this.setState({
date: new Date() + new Date(0,0,0,0,0,5,0),
});
給了我一些奇怪的錯誤,說
`props.date.getTime不是一個函數。 (在 'props.date.getTime()', 'props.date.getTime' 是未定義)
DatePickerIOS_render DatePickerIOS.ios.js:125
EDITED:根據this交我也低於試過,
this.setState({
date: this.state.date.setMinutes((new Date()).getMinutes()+5)
});
但它仍然給我相同的錯誤信息。在react-native中爲Date()添加分鐘的正確方法是什麼?
順便說一句,我在應用程序的另一部分使用了datepickerios,不知道爲什麼錯誤與DatePickerIOS.ios.js首先相關。實際使用DatePickerIOS的應用程序的另一部分工作正常,沒有錯誤。
再次編輯:
下面是完整的功能。這個函數是從一個SegmentedControlIOS中調用的,它的值是['從現在開始5min','從現在開始15min','從現在開始30min','自定義']。
_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);
}
}
會發生什麼:如果我從分段控制更改選擇一次,道具的錯誤消息的黃色警告條顯示在我的模擬器的底部。如果我再次更改選擇,則紅色屏幕顯示'_this5.state.date.setMinutes不是函數'。
所以看起來
date: this.state.date.setMinutes((new Date()).getMinutes()+5)
確實增加分鐘,但是當我做了兩次它在錯誤結束。 請幫忙!
的可能的複製[如何增加30分鐘的一個JavaScript Date對象?(http://stackoverflow.com/questions/ 1197928/how-to-add-30-minutes-to-javascript-date-object) – Kerumen
那麼,這就是我對this.state.date.setMinutes((new Date())的看法。getMinutes() +5),但它不起作用... –