@Nivaech

Как проверить, есть ли объект в массиве в JSX?

Есть страница с товарами, которые можно добавить в корзину, cart.
cart - отдельный state массив с объектами, в который добавляются выбранные товары.
Я хочу сделать условие, при котором бы проверялось наличие товара в корзине, и если он там есть, то на странице товара бы отображалась соответствующая фраза.
Условие такое. Оно проверяет, есть ли в массиве предмет с соответствующим id, и если есть, то рендерится определенная надпись.

<div>
                          {
                            cart.find(item => (item.id === id) ?
                              <p>I am in</p>
                              :
                              <p>I am not in</p>
                            )
                          }
                      </div>

Но это не работает. Ловлю ошибку:

Objects are not valid as a React child (found: object with keys {id, title, price, category, type, description}). If you meant to render a collection of children, use an array instead.

Как это исправить?
  • Вопрос задан
  • 221 просмотр
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
<p>{cart.some(n => n.id === id) ? 'я есть' : 'меня нет'}</p>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы