首页 > 解决方案 > 获取在 const 中设置的产品 ID 在反应本机循环中使用 onPress

问题描述

我想在 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>
     )
   })}
  </>
)

标签: react-nativeonpress

解决方案


您的函数应该接受一个 argid并且您必须在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>
   )})
 </>
)

推荐阅读