Reactjs React组件道具的类型推断 似乎打字正确。你做了什么不同的事吗?@ford04谢谢,我是在操场上弄明白的。在这方面,您没有添加{…props},这就是它工作的原因。因为道具的类型是any,所以它覆盖了项的类型。请随便加上这个作为答案。我认为,你比我能更好

Reactjs React组件道具的类型推断 似乎打字正确。你做了什么不同的事吗?@ford04谢谢,我是在操场上弄明白的。在这方面,您没有添加{…props},这就是它工作的原因。因为道具的类型是any,所以它覆盖了项的类型。请随便加上这个作为答案。我认为,你比我能更好,reactjs,typescript,Reactjs,Typescript,React组件道具的类型推断 似乎打字正确。你做了什么不同的事吗?@ford04谢谢,我是在操场上弄明白的。在这方面,您没有添加{…props},这就是它工作的原因。因为道具的类型是any,所以它覆盖了项的类型。请随便加上这个作为答案。我认为,你比我能更好地解释你的错误(-:。你的评论作为答案似乎是合理的。 export interface InfiniteScrollProps<TItem> { children?: ( item: TItem, index:

React组件道具的类型推断
似乎打字正确。你做了什么不同的事吗?@ford04谢谢,我是在操场上弄明白的。在这方面,您没有添加
{…props}
,这就是它工作的原因。因为道具的类型是any,所以它覆盖了
项的类型。请随便加上这个作为答案。我认为,你比我能更好地解释你的错误(-:。你的评论作为答案似乎是合理的。
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>
> {}
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>