Я использую indexOf
в компоненте React для стилизации кнопки в зависимости от того, находится ли объект в наблюдаемом массиве mobx.
Кнопка предназначена для добавления в избранное. Он помещает объект для этого конкретного элемента списка в наблюдаемый массив в хранилище, называемый «избранное». избранное - это наблюдаемый массив объектов.
Вот литерал шаблона ES6 с моей кнопки:
className={`btn-group ${((this.props.store.favorites.indexOf(this.props.data) > -1)) ? 'success' : 'info'}`}
По сути, это проверка того, находится ли объект в массиве, className будет success
, если false info
.
Это отлично работает, когда массив избранного находится в локальном состоянии. Но я понимаю, что объекты в массиве избранного выглядят по-другому, когда они находятся в наблюдаемом массиве. Я понимаю, что избранные наблюдаемые массивы отличаются от избранных локальных массивов.
Но как мне проверить, находится ли объект в наблюдаемом массиве объектов? Я пробовал slice()
и peek()
и использовал findIndex, но без кубиков.