部分列表和打字稿



键入SectionList的正确方法是什么?我遇到了一个错误,它的工作原理(来自文档示例(:

<SectionList
renderItem={({item, index}) => <Text key={index}>{item}</Text>}
renderSectionHeader={({section: {title}}) => (
<Text style={{fontWeight: 'bold'}}>{title}</Text>
)}
sections={ticksData}
keyExtractor={(item, index) => item + index}
/>;

但事实并非如此:

const renderSectionHeader=({section: {title}}) => (
<Text style={{fontWeight: 'bold'}}>{title}</Text>
);
return (
<SectionList
renderItem={({item, index}) => <Text key={index}>{item}</Text>}
renderSectionHeader={renderSectionHeader}
sections={ticksData}
keyExtractor={(item, index) => item + index}
/>;

我得到这个错误:

属性"renderSectionHeader"的类型不兼容。类型"({section:{title}}:{section:{title:any;};}(=>元素"不可分配给类型"(info:{sections:SectionListData;}(=>ReactElement"。参数"__0"one_answers"info"的类型不兼容。类型"{section:SectionListData;}"不可分配给类型"{section:{title:any;};}"。属性"section"的类型不兼容。类型"SectionListData"不可分配给类型"{title:any;}"。类型"SectionListData"中缺少属性"title"。

有同样的问题,得到了这个答案,但还没有解决方案,所以这是我的:

import { SectionList, SectionListData } from 'react-native';
interface IHeader {
section: SectionListData<{ title: string }>
}
const renderSectionHeader=({section: {title}}: IHeader) => (
<Text style={{fontWeight: 'bold'}}>{title}</Text>
);

最新更新