j'ai deux matrices (un dans un état et l'autre est un accessoire) et les deux ont clé: paires de valeurson compare l'état et la valeur prop - erreur: ne peut pas lire la propriété « état » de undefined
si i utilisation:
this.props.test.col.forEach(function(element){
console.log(element.header);
}
Je verrai une liste de toutes les valeurs d'en-tête dans le tableau de paires clé: valeur dans mon prop
Si j'utilise:
console.log(this.state.gridOptions.api.blahhhh.hasOwnProperty('example header');
il retournera vrai si la clé de l'une des paire clé: valeur dans mon état est 'exemple d'en-tête'
Les deux fonctionnent comme prévu. Je veux comparer l'état et la clé de prop: paires de valeurs et effectuer une action chaque fois que la clé dans la paire clé: valeur de mon état correspond à la valeur de la clé: paire de valeur de mon prop.
Alors pourquoi ce qui suit ne fonctionne pas? Tout ce que je ne faisais que combiner les deux
this.props.test.col.forEach(function(element){
if (this.state.gridOptions.api.blahhhh.hasOwnProperty(element.header)){
console.log('hi');
}
}
Je reçois l'erreur:
Uncaught TypeError: Cannot read property 'state' of undefined
Dans le code exemple ci-dessus, s'il y a une correspondance entre la valeur et la clé de l'état et le pilier, puis impression 'salut' à la console
Utilisez la fonction de flèche pour préserver le contexte lexical: 'this.props.test.col.forEach (élément => ...)' – haim770