Смена текста при наведении React (onMouseEnter)

Имею компонент, который берет данные из объекта и выводит их. У каждого элемента внизу выводится дефолтный текст. При наведении на каждый элемент должно выводится значение ключа subscrible из массива вместо дефолтного текста.

Проблема: при наведении на 1 элемент - текст меняется у всех карточек (у каждой на свой)

Как нужно: при наведении на 1 элемент - текст меняется только у той карточки, на которую навели. Не могу понять в чем дело, подскажите плз!

const FoodList = () => {
  const data = [
    {
      "id": 1,
      "weight": "0,5",
      "subscrible": "Печень утки или гуся"
    },
    {
      "id": 2,
      "weight": "2",
      "subscrible": "Свежайшая сёмгушка."
    },
    {
      "id": 3,
      "weight": "1",
      "subscrible": "Влажные корма с курицей"
    }
  ]
  


  let description = <p>Чего сидишь? <a href="#">купи.</a></p>;
  const [text, setText] = useState(description);

  return (
    <>
      <div className="cat_food__container">
        <div className="container">
          <div className={s.foodList}>
            {data?.map((food, item) => (
              <div className={s.card__wrapp}
                key={food.id}  {...item}
                onMouseEnter={() => setText(food.subscrible)}
                onMouseLeave={() => setText(description)}
              >
                <FoodItem
                  text={text}
                  setText={setText}
                  food={food}
                  item={item}
                  description={description} />
              </div>
            ))}
          </div>
        </div>
      </div>
    </>
  );
};

export default FoodList;

Ответы (0 шт):