在本机循环中使用 onPress 获取在 const 中设置的产品 ID

问题描述

我想在 pid 使用 onPress 中添加 key={item.id} 值,并且她的数据在 react native 中进入数据库使用循环

const addToWishlist = () => {
     const [pid,setPid] = useState('');
}
return (
  <>
   {ProductData.map((item,index) => {
     return (
       <View key={index} style={styles.prod}>
         <TouchableOpacity onPress={addToWishlist} key={item.id}>
           <Feather name="heart" color={heartColor} style={{fontSize:16}}/>
         </TouchableOpacity>
       </View>
     )
   })}
  </>
)

解决方法

您的函数应该接受一个参数 id,并且您必须在触发 onPress 时发送它。

onPress={() => addToWishlist(item.id)}

const addToWishlist = (id) => {
  console.log(id)
  // const [pid,setPid] = useState('');
  // You should not declare a hook in a function
}

return (
  <>
   {ProductData.map((item,index) => (
     <View key={index} style={styles.prod}>
       <TouchableOpacity onPress={() => addToWishlist(item.id)} key={item.id}>
         <Feather name="heart" color={heartColor} style={{fontSize:16}}/>
       </TouchableOpacity>
     </View>
   )})
 </>
)