到目前为止,我正在尝试编辑用户的配置文件数据(其中包含fullName、性别、生日),当我编辑生日和姓名时,配置文件数据将被编辑。但是,当我只更改名称并保存它时,它会显示以下错误: TypeError: value.getTime不是一个函数。(在“value.getTime()”中,“value.getTime”未定义)
const [date, setDate] = useState(new Date());
const onChangeDate = (event, selectedDate) => {
const currentDate = selectedDate || date;
setShow(Platform.OS === 'ios');
setDate(currentDate);
let tempDate = new Date(currentDate);
let sDate = tempDate.getDate() + '/' + (tempDate.getMonth() + 1) + '/' + tempDate.getFullYear();
setIsValidDate(true);
setDateText(sDate);
};
const getUserData = () => {
axios
.get(`url/${phone}`)
.then((response) => {
setDate(response.data.data[0].birthdate);
})
.catch((error) => {
console.log('error getting data',error);
});
};
...
<View style={{ width: '100%', borderRadius: 8 }}>
{show && (
<DateTimePicker
testID="dateTimePicker"
value={date}
mode={mode}
minimumDate={new Date(1950, 1, 1)}
maximumDate={moment().subtract(16, 'years').format('YYYY-MM-DDTHH:mm:ss.ssSZ')}
is24Hour={true}
display={'default'}
onChange={onChangeDate}
style={styles.datePicker}
/>
)}
</View>如何解决这个错误?
发布于 2022-06-17 14:10:45
您必须解析axios响应到日期,因为axios响应中的birthDate是字符串。错误消息是正确的,字符串不一定要getTime方法。
https://stackoverflow.com/questions/72660572
复制相似问题