Je suis nouveau dans React et j'ai créé une barre de navigation qui affiche le nom d'utilisateur utilisateur
<NavItem eventKey={4} href="#">{this.state.name}</NavItem>
mais le problème est que si l'utilisateur n'est pas connecté, j'obtiens une erreur car this.state.name n'est pas défini. Existe-t-il un moyen de vérifier si this.state.name est défini avant de le rendre dans la barre de navigation ou existe-t-il un meilleur moyen de supprimer cette erreur?
Bien sûr, utilisez un ternaire:
render() {
return (
this.state.name ? <NavItem>{this.state.name}</NavItem> : null
);
}
ou même plus court
render() {
return (
this.state.name && <NavItem>{this.state.name}</NavItem>
);
}
Sûr que vous pouvez:
let userNavItem
if (this.state.name !== undefined) {
userNavItem = <NavItem eventKey={4} href="#">{this.state.name}</NavItem>
} else {
userNavItem = null
}
Maintenant, vous pouvez utiliser userNavItem
sur votre composant navbar, et le rendu ne sera rendu que si this.state.name
est défini.