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