Je suis assez nouveau à Javascript après avoir découvert React JS, et j'ai un problème que je ne comprends pas.Javascript 1 === 1 est faux
J'ai le code suivant, qui console les deux variables sous forme de nombres avec des valeurs identiques. Pourtant, il apparaît comme faux ... Pourquoi?
Merci beaucoup d'avance.
<Nav tabs>
{
navigation.map((page, i) => {
++i;
var match = this.state.activeTab === { i };
console.log(
typeof(i) + " " + i,
typeof(this.state.activeTab) + " " + this.state.activeTab,
match
);
return (
<NavItem>
<NavLink
className={
classnames({
active: match,
'cursor-pointer': true
})
}
onClick={() => { this.toggleTab({ i }) }}
>
{ page.name }
</NavLink>
</NavItem>
)
})
}
</Nav>
je reçois ce qui suit dans mon journal de la console:
app.js:89525 number 1 number 1 false
app.js:89525 number 2 number 1 false
app.js:89525 number 3 number 1 false
app.js:89525 number 4 number 1 false
app.js:89525 number 5 number 1 false
app.js:89525 number 6 number 1 false
Certes, le premier journal doit afficher en tant que vrai.
'{i} == I' mais vous ne connectez' {i} 'Vous – Quentin
ne font pas '1 === 1' mais' 1 === {1} '. Enlevez les parenthèses – Weedoze
En regardant 'this.state.activeTab === {i}' je peux vous dire que '{i}' n'est pas un nombre, mais un objet avec la forme suivante: '{i: i}'. –