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 gérer la navigation programmatique avec react-router ?
- Qu'est-ce que signifie use strict en JavaScript ?
- Qu'est-ce qu'un 'type: module' dans un fichier package.json ?
- Comment mettre à jour NodeJS sous Ubuntu 16 (et versions suivante) ?
- Comment ajouter des styles SCSS à un projet React ?
- Commenr résoudre l'erreur "'useHistory' is not exported from 'react-router-dom'" ?
- Correction de l'erreur "Reanimated 2 failed to create a worklet, maybe you forgot to add Reanimated's babel plugin?"
- Comment corriger l'erreur Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse ?
- React.js : comment comparer une nouvelle valeur avec une valeur précédente via useRef ?
- Chrome : comment corriger l'erreur The message port closed before a response was received ?
- React.js : comment résoudre l'erreur Could not find a declaration file for module 'react-materialize' ?
- Obtenir l'adresse IP client uniquement en JavaScript
- Résoudre l'erreur Expected an assignment or function call and instead saw an expression no-unused-expressions ?
- Comment accéder à un objet history dans React Router en dehors des composants ?
- Comment renvoyer la réponse d'un appel asynchrone en AJAX ?
- Comment obtenir les paramètres d'URL en JavaScript ?
- Comment corriger l'erreur : "require() of ES modules is not supported" lors de l'import de node-fetch
- 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 parser un JSON en utilisant Node.JS ?