TypeScript React Native Flatlist: renderItem にそのアイテムの正しい型を与えるにはどうすればよいでしょうか? 質問する

TypeScript React Native Flatlist: renderItem にそのアイテムの正しい型を与えるにはどうすればよいでしょうか? 質問する

TypeScriptでReact Nativeアプリを作っています。renderItem構造化されていない項目には暗黙的にany型があるというエラーが出ます。グーグルで調べたところこの質問ここで教えられていることを、React Native のパッケージindex.d.tsの型と組み合わせて実装してみました。@types

export interface Props {
  emotions: Emotion[];
}

class EmotionsPicker extends PureComponent<Props> {
  keyExtractor = (item, index) => index;
  renderItem = ({ item }) => (
    <ListItem title={item.name} checkmark={item.checked} />
  );

  render() {
    return (
      <FlatList<Emotion>
        keyExtractor={this.keyExtractor}
        renderItem={this.renderItem}
        data={this.props.emotions}
      />
    );
  }
}

残念ながら、これは機能しません。アイテムにタイプを指定するにはどうすればよいでしょうかEmotion?

ベストアンサー1

古い質問だとはわかっていますが、グーグルで検索する人にとってはまだありがたい質問かもしれません。

import { FlatList, ListRenderItem } from 'react-native'
/*
.
.
.
*/
  renderItem: ListRenderItem<Emoticon> = ({ item }) => (
    <ListItem title={item.name} checkmark={item.checked} />
  );

おすすめ記事