我正在创建一个自定义的可重用组件,它可以将另一个组件作为 prop 用作子组件。我想动态地从传递到该组件的数据中添加类型。
最好的参考是<FlatList>
。我需要确切地了解<FlatList>
是如何创建的。我们为它提供了一个renderItem
属性,它将接受该组件并将data
的类型传递给renderItem
函数。
示例:
<FlatList
data={['str1', 'str2', 'str3']} // Array type is string[] here
renderItem={({item}) => <Text>{item}</Text>} // The item type is string here />
所需组件:
<MyComponent
data={[ { name: 'abc', age: 5 }, { name: 'xyz', age: 5 } ]} // Array is a custom type User[]
renderItem={({item}) => <Text>{item.name}</Text>} /> // The item is User type
1条答案
按热度按时间llew8vvj1#
FlatList
正在使用泛型参数来实现所需的结果。您可以创建使用相同机制的自定义组件。下面是一个示例:希望能有所帮助