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 ?
- TypeScript : comprendre la confusion entre React.FC et les propriététs d'une fonction classique
- Qu'est-ce qu'un 'type: module' dans un fichier package.json ?
- Qu'est-ce que signifie use strict en JavaScript ?
- Comment mettre à jour NodeJS sous Ubuntu 16 (et versions suivante) ?
- Chrome : comment corriger l'erreur The message port closed before a response was received ?
- Comment obtenir les paramètres d'URL en JavaScript ?
- 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?"
- Résoudre l'erreur Expected an assignment or function call and instead saw an expression no-unused-expressions ?
- Comment corriger l'erreur : "require() of ES modules is not supported" lors de l'import de node-fetch
- React.js : comment comparer une nouvelle valeur avec une valeur précédente via useRef ?
- Comment corriger l'erreur Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse ?
- React.js : comment résoudre l'erreur Could not find a declaration file for module 'react-materialize' ?
- Comment corriger l'erreur d'installation de npm "npm ERR! code 1" ?
- 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 ?
- React : comment corriger l'erreur "error:0308010C:digital envelope routines::unsupported" ?
- Comment renvoyer la réponse d'un appel asynchrone en AJAX ?
- Comment accéder à un objet history dans React Router en dehors des composants ?
- Obtenir l'adresse IP client uniquement en JavaScript
- Comment remplacer toutes les occurrences d'un string en JavaScript ?