0

我有一个函数 checkStatus(id) 需要来自平面列表的 item.id。

我可以检查平面列表中 onPress 事件的状态,例如:

<TouchableOpacity onPress={() => checkStatus(item.id)}>

但是,我希望为 Flatlist 中的每个项目调用该函数并相应地呈现一些文本。调用该函数时,我有一个 const,其状态随布尔值变化。(hasBeenAdded = true 或 false)所以,我不想要任何 onPress 事件。

我之前做过类似的事情,但它不需要项目的价值,因此我可以称之为

 {hasBeenAdded === true (
): }

知道如何为每个项目调用平面列表中的函数吗?

4

1 回答 1

0

我找到了解决方案!

在我更改了平面列表以便在另一个组件中使用 renderItem 之后,我能够在返回方法之前在那里运行我的函数。

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

 
于 2020-10-13T14:34:10.623 回答