J'utilise indexOf
dans un composant React pour styler un bouton selon qu'un objet se trouve dans un tableau observable mobx.Comment vérifier si l'objet est dans un tableau Mobx observable?
Le bouton est pour favoriser. Il pousse l'objet pour cet élément de liste spécifique dans un tableau observable dans le magasin appelé «favoris». favoris est un tableau observable d'objets.
Voici le modèle ES6 littéral de mon bouton:
className={`btn-group ${((this.props.store.favorites.indexOf(this.props.data) > -1)) ? 'success' : 'info'}`}
Fondamentalement, il est un chèque si l'objet est dans le tableau, className sera success
, si elle est fausse info
.
Ceci fonctionne parfaitement lorsque le tableau de favoris est à l'état local. Mais je comprends que les objets dans le tableau des favoris ont un aspect différent une fois qu'ils sont dans le tableau observable. Je comprends que les favoris du tableau observables sont différents des favoris du tableau local.
Mais comment faire un test pour savoir si un objet est dans un tableau observable d'objets? J'ai essayé slice()
et peek()
et en utilisant le findIndex mais pas de dés.
ho Je vois, je parie 'this.props.data' n'est pas une chaîne? Je vais éditer ma réponse. Voir un POC ici https://jsbin.com/botijom/edit?js,console – dagatsoin
@ kyle-pennell ça marche pour vous? – dagatsoin
J'ai fini par avoir besoin d'un tableau peu profond pour cette affaire, mais la vôtre est une bonne chose à savoir sur –