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 mettre à jour NodeJS sous Ubuntu 16 (et versions suivante) ?
- Comment ajouter des styles SCSS à un projet React ?
- Comment résoudre l'erreur Node.js Typescript : "[ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /app/src/App.ts" ?
- Commenr résoudre l'erreur "'useHistory' is not exported from 'react-router-dom'" ?
- Qu'est-ce qu'un 'type: module' dans un fichier package.json ?
- Correction de l'erreur "Reanimated 2 failed to create a worklet, maybe you forgot to add Reanimated's babel plugin?"
- React.js : comment comparer une nouvelle valeur avec une valeur précédente via useRef ?
- React.js : comment résoudre l'erreur Could not find a declaration file for module 'react-materialize' ?
- Comment formater un JSON pour le rendre lisible ?
- Comment corriger l'erreur Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse ?
- JavaScript : comment attendre X secondes avant d'exécuter la ligne suivante ?
- Comment accéder à un objet history dans React Router en dehors des composants ?
- Comment corriger l'erreur Node.js "node:internal/modules/cjs/loader:936 error" ?
- Comment développer un lecteur de fichier texte en JavaScript ?
- React : comment déclencher une fonction via useEffect une seule fois, après le premier rendu ?
- Comment faire un polyfill automatisé dans webpack 5 ?
- Comment convertir un objet {} en un tableau (Array) de paires clé-valeur en JavaScript ?
- 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 ?