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
- Obtenir l'adresse IP client uniquement en JavaScript
- Comment corriger l'erreur Webpack "ERR_OSSL_EVP_UNSUPPORTED"
- Comment vérifier qu'un tableau (array) contient une chaîne (string) en TypeScript ?
- Comment remplacer toutes les occurrences d'un string en JavaScript ?
- Qu'est-ce qu'un 'type: module' dans un fichier package.json ?
- Comment corriger l'erreur : "require() of ES modules is not supported" lors de l'import de node-fetch
- Comment corriger l'erreur Error: EACCES: permission denied, access '/usr/local/lib/node_modules' ?
- Comment vérifier si la propriété d'un objet est indéfinie (undefined) en JavaScript ?
- Comment résoudre l'erreur Node.js Typescript : "[ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /app/src/App.ts" ?
- Comment faire un focus sur un élément d'un formulaire HTML en JavaScript ?
- Quel content-type utiliser pour du JSON ?
- Comment générer un timestamp (horodatage) en JavaScript ?
- Comment exprimer le type date en TypeScript ?
- Node.js : comment résoudre l'erreur internal/modules/cjs/loader.js:582 throw err ?
- Comment faire un sleep dans une fonction JavaScript ?
- Comment vérifier une adresse mail en JavaScript ?
- Comment faire un downgrade d'une version Node.js ?
- Comment utiliser un composant JSX et résoudre l'erreur "'Element[]' is not a valid JSX element" ?
- Chrome : comment corriger l'erreur The message port closed before a response was received ?
- Comment corriger l'erreur Uncaught SyntaxError: Cannot use import statement outside a module ?
- Node.js : comment corriger l'erreur Browserslist: caniuse-lite is outdated. Please run next command npm update ?
- Comment résoudre l'erreur Could not resolve dependency: npm ERR! peer @angular/compiler@"11.2.8"" ?