我在React组件中使用indexOf
来根据对象是否位于mobx可观察数组中来设置按钮的样式。如何检查对象是否在Mobx可观察数组中?
该按钮是用于收藏。它将该特定列表项目的对象推送到名为“收藏夹”的商店中的可观察数组中。收藏夹是可观察的对象数组。
这里是ES6模板从我的按钮文字:
className={`btn-group ${((this.props.store.favorites.indexOf(this.props.data) > -1)) ? 'success' : 'info'}`}
基本上,这是因为如果对象是数组中的支票,类名会success
,如有虚假info
。
当收藏夹阵列处于本地状态时,此功能完全正常。但是我知道,收藏夹数组中的对象一旦处于可观察数组中就会看起来不同。我知道可观察的数组收藏夹不同于本地数组收藏夹。
但我该如何做一个对象是否在可观察的对象数组中的测试?我尝试slice()
和peek()
并使用findIndex但没有骰子。
ho我看,我敢打赌'this.props.data'不是一个字符串?我会编辑我的答案。在这里看到POC https://jsbin.com/botijom/edit?js,console – dagatsoin
@ kyle-pennell是否适合你? – dagatsoin
我最终需要一个浅层阵列来处理这种情况,但是你是一个了解 –