export interface InfiniteScrollProps<TItem> {
children?: (
item: TItem,
index: number,
ref: React.MutableRefObject<any>,
) => React.ReactNode;
items?: TItem[];
}
declare class InfiniteScroll<TItem> extends React.Component<
InfiniteScrollProps<TItem>
> {}
Дайте приведенные выше определения типов, я ожидал, что тип item
в подпорке для детей будет выведен на основании типа items
подпорки. Но по умолчанию он равен unknown
, хотя в прошлом вывод типа, подобный этому, работал. Тип allItems
выводится правильно. Что здесь может происходить?
export const allItems = Array(2000)
.fill(0)
.map((_, i) => ({ label: `item ${i + 1}`, value: Math.random() }));
<InfiniteScroll items={allItems} {...props}>
{(item, _, ref) => (
<Box
ref={ref}
key={item}
pad="medium"
border={{ side: 'bottom' }}
align="center"
>
<Text>{item}</Text>
</Box>
)}
</InfiniteScroll>