我indexOf
在 React 组件中使用基于对象是否在 mobx 可观察数组中来设置按钮样式。
该按钮用于收藏。它将特定列表项的对象推送到存储中称为“收藏夹”的可观察数组中。收藏夹是一个可观察的对象数组。
这是我的按钮中的 ES6 模板文字:
className={`btn-group ${((this.props.store.favorites.indexOf(this.props.data) > -1)) ? 'success' : 'info'}`}
基本上,它是检查对象是否在数组中success
,如果为 false ,则className 将是info
。
当收藏夹数组处于本地状态时,这非常有效。但是我知道收藏夹数组中的对象一旦进入可观察数组,它们的外观就会有所不同。我知道可观察的数组收藏夹与本地数组收藏夹不同。
但是如何测试一个对象是否在一个可观察的对象数组中呢?我尝试slice()
并peek()
使用 findIndex 但没有骰子。