我做了一个函数来清理我的分类列表。它工作得很完美,但我的终端有问题。我的代码:
onCategories接口:
interface IEventSearchFilterProps {
eventData: Record<string, any>;
// eslint-disable-next-line no-unused-vars
onCategoriesChange: (categories: number[]) => void
}
useEffect(() => {
const sanitizeCategories = () => {
const filteredCategories = [selectedCategory, selectedLocation, selectedMonth].filter(category => {
return Boolean(category)
})
return filteredCategories;
}
onCategoriesChange(sanitizeCategories())
}, [selectedCategory, selectedLocation, selectedMonth])
我的终端问题:
Argument of type 'string[]' is not assignable to parameter of type 'number[]'.
Type 'string' is not assignable to type 'number'.
onCategoriesChange(sanitizeCategories())
~~~~~~~~~~~~~~~~~~~~
sanitizeCategories
带有下划线。sanitizeCategories
带有下划线。
1条答案
按热度按时间col17t5w1#
感谢您编辑问题。
控制台上的错误很清楚地说明了问题所在:函数
sanitizeCategories
正在返回一个字符串数组,而函数onCategoriesChange
正在等待一个数字数组。最简单的解决方案是更改
onCategoriesChange
正在等待的参数类型,使其变为:如果出于某种原因,您在其他地方使用
onCategoriesChange
,并且等待一个数字数组,则可以同时使用它们: