Recherche status d'un élément d'une liste

[Résolu/Fermé]
Signaler
Messages postés
38
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
7 septembre 2020
-
Messages postés
38
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
7 septembre 2020
-
Bonjour,

j'ai une map qui contient des nom de variables et leurs status (booléen).
  this.state = {
      checkedItems: new Map(),
    }

je la remplie de la manière suivante :
this.setState(prevState => ({ checkedItems: prevState.checkedItems.set(item, isChecked) }));


ma liste contient donc des valeurs sous ce format [string, bool].
l'une des valeurs porte le nom "UZ" et je désire connaître sont statu pour en faire une condition dans un IF

handleChange(e) {
    const item = e.target.name;
    const isChecked = e.target.checked;
    this.setState(prevState => ({ checkedItems: prevState.checkedItems.set(item, isChecked) }));

    if (isChecked === true) {
      if ("statu de UZ" == false) {
        this.setState(prevState => ({ checkedItems: prevState.checkedItems.set("UZ", true) }));
        this.setState((state, props) => ({lock: this.state.lock + 66.6}));
      }
      else
        this.setState((state, props) => ({lock: this.state.lock + 33.3}));
    } else {
      if ("statu de UZ" == false) {
        this.setState(prevState => ({ checkedItems: prevState.checkedItems.set("WS", false) }));
        this.setState(prevState => ({ checkedItems: prevState.checkedItems.set("AS", false) }));
        this.setState((state, props) => ({lock: 0}));
      }
      else
        this.setState((state, props) => ({lock: this.state.lock - 33.3}));
    }
  }


Évidemment ici je désire remplacer les 2 "statu de UZ" contenue dans les conditions de 2 de mes IF par la fameuse ligne de code qui me manque.

merci de prendre du temps pour me venir en aide.
bonne soirée .


Configuration: Linux / Firefox 74.0

1 réponse

Messages postés
38
Date d'inscription
dimanche 15 décembre 2019
Statut
Membre
Dernière intervention
7 septembre 2020
2
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get

checkedItems.get('UZ') renvoie bien "true" !

solution trouvé !