يبدو ان المشكلة انك استخدمت state واحد من النوع isLike لكل العناصر وبالتالي كل العناصر اصبح مربوطة بالـ state نفسه.
ولحل المشكلة قم بعمل state مخصص للـ isLike لكل عنصر على حدى، وذلك بنقل الاكواد :
const [isLike,setIsLike] = useState(false)
const toggleLikeBtn = () =>{
setIsLike(!isLike)
}
إلى داخل الـ CartProducts.js كالتالي :
import React,{useState} from 'react'
function CartProduct({id,price,src,title,detail}) {
const [isLike,setIsLike] = useState(false)
const toggleLikeBtn = () =>{
setIsLike(!isLike)
}
return (
<div className="card">
<div className='product-price'>{price} DT</div>
<img src={src} className="card-img-top" alt="..."/>
<div className="card-body">
<h5 className="card-title">{title}</h5>
<p className="card-text">{detail}</p>
<div className='cart-btns'>
<div className='toggle-like'>
<button type="button"
className="btn btn-outline-danger"
onClick={toggleLikeBtn}>
{isLike ? "Dislike" : "Like"}
</button>
</div>
<button type="button" className="btn btn-outline-primary">Add To Cart</button>
</div>
<div className='rating'>
<i className="fa-solid fa-star"></i>
<i className="fa-solid fa-star"></i>
<i className="fa-solid fa-star"></i>
<i className="fa-solid fa-star"></i>
<i className="fa-solid fa-star"></i>
</div>
</div>
</div>
)
}
export default CartProduct