如何解决Flatlist内部的调用函数
我有一个函数checkStatus(id),它需要一个平面列表中的item.id。
我可以在清单中的onPress事件中检查状态,例如:
<TouchableOpacity onPress={() => checkStatus(item.id)}>
但是,我希望为Flatlist中的每个项目调用该函数,并相应地呈现一些文本。调用该函数时,我有一个const,其状态随布尔值而变化。 (hasBeenAdded = true或false)所以,我不需要任何onPress事件。
我之前做过类似的事情,但是它不需要该项目的值,因此我可以这样称呼它
{hasBeenAdded === true (
): }
关于如何在清单中为每个项目调用函数的任何想法?
解决方法
我找到了解决方法!
在更改了平面列表以便在另一个组件中使用renderItem之后,我能够在return方法之前在其中运行函数。
function cell ({item,index}){
const filterData= global.myData.filter(data => data.sugg == item.id)
return (
<Text style={styles.row}>{item.title}</Text>
<Text style={styles.row}>{item.description}</Text>
{!filterData.length ? (
<Text> Some text </Text>
/>
): (
<Text> Some other Text </Text>
/>
)}
)
}
return (
<FlatList
data={myFilter}
keyExtractor={(item,data) => { return item.id}}
renderItem={cell }
style={{ marginTop: 10 }} />
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。