React.js : faut-il utiliser forEach en JSX ?
Le JSX est une extension du langage JavaScript utilisée par le framework ReactJS. Elle permet de mêler du HTML, du JavaScript et la notation propre au framework. On peut ainsi utiliser du HTML directement dans la méthode "render()" des composants React. Le JSX permet d'utiliser l'instruction "forEach" mais on ne peut pas l'utiliser dans tous les cas.
L'instruction "forEach" permet de parcourir un tableau d'éléments afin d'effectuer un traitement dessus. Il s'utilise donc de la même manière que dans un autre langage. Avec le JSX, on définit la variable qui va contenir l'élément parcouru, puis on lie une fonction qui effectuera le traitement avec cette variable.
{this.props.monTableau.forEach(element => {
console.log(element);
})}
Si vous souhaitez utiliser la fonction "forEach" pour de l'affichage, ce n'est pas une bonne option. La méthode "forEach" ne retourne rien. Les éventuelles balises que vous allez insérer ne seront donc pas affichées. À la place, nous vous conseillons la méthode "map()". Elle prend en paramètres 2 variables. La première va être la variable qui va contenir l'élément parcouru et la deuxième correspondra à l'index de cet élément dans le tableau. Vous devrez utiliser l'instruction "return" pour que les balises soient affichées dans votre composant.
class monComposant extends Component {
render(){
{this.props.titre}
{this.props.monTableau.map((element, i) => {
console.log(element);
// Affichage
return (element.libelle
)
})}
}
JavaScript
- Comment faire un polyfill automatisé dans webpack 5 ?
- Comment parser un JSON en utilisant Node.JS ?
- React Hooks : useEffect() est appelé deux fois même si un tableau vide est utilisé comme argument, comment faire ?
- Comment vérifier qu'une chaîne est vide, nulle ou non définie en JavaScript ?
- Axios : concevoir une requête Post pour renvoyer les données d'un formulaire.
- NPM : faut-il commiter le fichier package-lock.json ?
- Qu'est-ce qu'un 'type: module' dans un fichier package.json ?
- React.js : comment limiter un input uniquement à des nombres (number) ?
- Comment utiliser un composant JSX et résoudre l'erreur "'Element[]' is not a valid JSX element" ?
- React.js : comment accéder à une image dans le répertoire public (public folder) ?
- Comment récupérer la valeur d'un paramètre en URL ?
- Mettre en place l'authentification JWT avec l'API web ASP.NET ?
- Comment corriger l'erreur "DevTools failed to load SourceMap: Could not load content for" lors de l'ajout d'une librairie JavaScript ?
- Comment faire un downgrade d'une version Node.js ?
- Comment télécharger un fichier avec React.js ?
- Comment déclencher un clic sur un bouton en JavaScript au moment où la touche Entrée est pressée dans une zone de texte ?
- Comment corriger l'erreur : "require() of ES modules is not supported" lors de l'import de node-fetch
- Comment convertir un objet {} en un tableau (Array) de paires clé-valeur en JavaScript ?
- Comment résoudre l'erreur Node.js "SyntaxError: Cannot use import statement outside a module" ?
- Comment résoudre le problème "Object is of type 'unknown" en TypeScript ?
- Comment retourner un objet Json comme réponse à un Rest Controller via le framework Spring Boot ?
- Comment vérifier une adresse mail en JavaScript ?