错误“undefined is not function”when using multiple,after select multi dates and show DatePickerModal again. Im using“react-native-paper-dates”
const [showDate, setShowDate] = useState(false);
const [dates, setDates] = useState<any>([]);
<DatePickerModal
locale="en"
mode="multiple"
visible={showDate}
onDismiss={() => setShowDate(false)}
dates={dates}
onConfirm={dates => {
console.log(dates);
setShowDate(false);
setDates(dates);
}}
/>
下面是我的完整代码:我不知道如何修复,因为它发生在图书馆“React-本土-论文日期”。任何人都可以帮助我。非常感谢
我通过为DatePickerModal添加2个useCallback函数onDismiss和onConfirm来修复它!
const onDismiss = useCallback(() => {
setShowDate(false);
}, [setShowDate]);
const onConfirm = useCallback((params: any) => {
setShowDate(false);
setDates(params.dates);
}, []);
1条答案
按热度按时间oipij1gg1#
从react-native-paper-dates documentation中看不太清楚,但它传递给
onConfirm
回调函数的值是一个包含.dates
的结构,而不仅仅是一个日期数组:您现有的
onConfirm
回调只需要做一点更改:Typescript实际上可以发现这种类型的问题-而不是调用
useState<any>
,您可以指定预期的类型:指定此更强的类型后,Typescript会在原始回调上显示错误: