首页 > 解决方案 > TypeError:日期不是函数

问题描述

const [date, setDate] = useState(new Date(1598051730000));
const [mode, setMode] = useState('date');
const [show, setShow] = useState(false);

const onChange = (event, selectedDate) => {
const currentDate = selectedDate || date;
setShow(Platform.OS === 'ios');
setDate(currentDate);
};

const showMode = (currentMode) => {
setShow(true);
setMode(currentMode);
};

const showDatepicker = () => {
showMode('date');
};

<DateTimePicker
      testID="dateTimePicker"
      display="default"
      mode={mode}
      value={date}
      onChange={(date) => {
        setShow(Platform.OS === 'ios');
        if (date) {
          date(new Date(date));
        }
      }}
      onChangeText={(val) => set_birthdate(val)}
    />

TypeError:日期不是函数。(在“日期(新日期(日期))”中,“日期”是对象的一个​​实例)

有人可以帮我弄这个吗?

我正在添加完整的代码

标签: react-native

解决方案


我认为你应该使用setDate(new Date(date))而不是date(new Date(date));也请重命名你的 arg 以避免混淆,试试下面的代码

onChange={(newDate) => {
    setShow(Platform.OS === 'ios');
    newDate && setDate(new Date(newDate));
}}

推荐阅读