Вам необходимо вернуть элементы JSX при использовании renderItem.
когда вы видите renderItem={({item}) => <Text>{item.key}</Text>}
. Это сокращение от:
renderItem={({item}) => {
return <Text>{item.key}</Text>
}}
Так что-то вроде ниже должно работать:
<FlatList
data={posts}
ref={(c) => {this.flatList = c;}}
keyExtractor={(item, index) => index.toString()}
renderItem={({item}) => {
return item.categories_name.map(category=>{
let cat = category.toLowerCase();
if(cat=='movie'){
return <Text style={{fontSize:20,color:'white'}}>This is movie</Text>
} else {
return <Text style={{fontSize:20,color:'white'}}>This is normal post</Text>
}
})
...
Вы должны заметить выше, что renderItem returns
независимо от того, что .map
возвращает (который должен быть массивом элементов JSX. Этот return
внутри .map fn также необходим: return <Text style...
, потому что вы так хотите чтобы использовать .map
, * вы хотите вернуть массив элементов * Если это не так понятно, пожалуйста, отметьте .map
и выясните это самостоятельно. Это должно помочь вам лучше
Надеюсь, это поможет