节列表和打字稿

时间:2018-07-13 13:49:48

标签: typescript react-native react-native-sectionlist

键入SectionList的正确方法是什么?我遇到了一个错误的地方(来自docs example):

explode(",", choicesval)[intval(randum)]

但这不是:

        <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}
        />;

我收到此错误:

  

属性“ renderSectionHeader”的类型不兼容。类型'({{section:{title}}:{section:{title:any;};})=>元素'不能分配给类型'(info:{section:SectionListData;})=> ReactElement'。参数'__0'和'info'的类型不兼容。类型'{section:SectionListData; }'不可分配为'{section:{title:any; }; }'。属性“节”的类型不兼容。类型'SectionListData'不可分配给类型'{title:any; }'。类型“ SectionListData”中缺少属性“ title”。

1 个答案:

答案 0 :(得分:2)

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

import { SectionList, SectionListData } from 'react-native';

interface IHeader {
  section: SectionListData<{ title: string }>
}

const renderSectionHeader=({section: {title}}: IHeader) => (
  <Text style={{fontWeight: 'bold'}}>{title}</Text>
);