Une brève introduction aux composants React
Un composant est un élément d'interface isolé. Par exemple, dans une page d'accueil de blog classique, vous pouvez trouver le composant Sidebar et le composant Blog Posts List. Ils sont à leur tour composés de composants eux-mêmes, vous pouvez donc avoir une liste de composants d'articles de blog, chacun pour chaque article de blog, et chacun avec ses propres propriétés particulières.
React le rend très simple: tout est un composant.
Même les balises HTML simples sont des composants à part entière, et elles sont ajoutées par défaut.
Les 2 lignes suivantes sont équivalentes, elles font la même chose. Un avecJSX, un sans, en injectant<h1>Hello World!</h1>
dans un élément avec idapp
.
import React from 'react'
import ReactDOM from 'react-dom'
ReactDOM.render(<h1>Hello World!</h1>, document.getElementById(‘app’))
ReactDOM.render(
React.createElement(‘h1’, null, ‘Hello World!’),
document.getElementById(‘app’)
)
Voir,React.createElement
nous a exposé une API pour créer leh1
composant. La modification du premier paramètre de cette méthode vous permet de créer différentes balises. Le deuxième paramètre est un objet d'accessoires, dans ce cas nous n'en avons pas besoin, donc nous passonsnull
.
C'est ainsi que nous pouvons utiliser React pour travailler avec les composants HTML intégrés, mais vous les dépasserez rapidement. Ce dans quoi React excelle, c'est de nous permettre de composer une interface utilisateur en composant des composants personnalisés.
Composants personnalisés
Il existe 2 façons de définir un composant dans React.
Un composant de fonction:
const BlogPostExcerpt = () => {
return (
<div>
<h1>Title</h1>
<p>Description</p>
</div>
)
}
Un composant de classe:
import React, { Component } from 'react'
class BlogPostExcerpt extends Component {
render() {
return (
<div>
<h1>Title</h1>
<p>Description</p>
</div>
)
}
}
Jusqu'à récemment, les composants de classe étaient le seul moyen de définir un composant qui avait son propre état et pouvait accéder aux méthodes du cycle de vie afin que vous puissiez faire des choses lorsque le composant a été rendu, mis à jour ou supprimé pour la première fois.
React Hooks a changé cela, donc nos composants de fonction sont maintenant beaucoup plus puissants que jamais et je pense que nous verrons de moins en moins de composants de classe à l'avenir, même si ce sera toujours un moyen parfaitement valable de créer des composants.
Il existe également une troisième syntaxe qui utilise leES5
syntaxe, sans les classes:
import React from 'react'
React.createClass({
render() {
return (
<div>
<h1>Title</h1>
<p>Description</p>
</div>
)
}
})
Vous verrez rarement cela dans le moderne,> ES6
bases de code.
Téléchargez mon gratuitManuel React
Plus de tutoriels de réaction:
- Un exemple d'application simple React: récupérez les informations des utilisateurs de GitHub via l'API
- Construisez un compteur simple avec React
- Configuration de VS Code pour le développement de React
- Comment passer des accessoires à un composant enfant via React Router
- Créez une application avec Electron et React
- Tutoriel: créer une feuille de calcul avec React
- La feuille de route pour apprendre React
- Apprenez à utiliser Redux
- Premiers pas avec JSX
- Composants stylisés
- Introduction à Redux Saga
- Introduction à React Router
- Introduction à React
- Composants React
- Le DOM virtuel
- Réagir les événements
- L'état de réaction
- Accessoires de réaction
- Le fragment de réaction
- L'API de contexte React
- Réagir les types de prop
- Concepts React: déclaratif
- Réagir: comment afficher un composant différent en un clic
- Comment faire une boucle dans React JSX
- Props vs State dans React
- Devriez-vous utiliser jQuery ou React?
- Combien de JavaScript devez-vous connaître pour utiliser React?
- Introduction à Gatsby
- Comment référencer un élément DOM dans React
- Flux de données unidirectionnel dans React
- Réagir des composants d'ordre supérieur
- Événements de cycle de vie de React
- Concept de réaction: immuabilité
- Concept React: Pureté
- Introduction à React Hooks
- Introduction à create-react-app
- Concept de réaction: composition
- Réagir: composants de présentation vs composants de conteneur
- Fractionnement de code dans React
- Rendu côté serveur avec React
- Comment installer React
- CSS dans React
- Utilisation de SASS dans React
- Gestion des formulaires dans React
- Réagir StrictMode
- Portails de réaction
- Réagir les accessoires de rendu
- Test des composants React
- Comment passer un paramètre aux gestionnaires d'événements dans React
- Comment gérer les erreurs dans React
- Comment renvoyer plusieurs éléments dans JSX
- Rendu conditionnel dans React
- React, comment transférer des accessoires vers des composants enfants
- Comment obtenir la valeur d'un élément d'entrée dans React
- Comment utiliser le hook useState React
- Comment utiliser le hook useCallback React
- Comment utiliser le hook useEffect React
- Comment utiliser le hook useMemo React
- Comment utiliser le hook useRef React
- Comment utiliser le hook useContext React
- Comment utiliser le hook useReducer React
- Comment connecter votre application React à un backend de la même origine
- Le didacticiel du routeur Reach
- Comment utiliser les outils de développement React
- Comment apprendre React
- Comment déboguer une application React
- Comment rendre du HTML dans React
- Comment réparer l'erreur `dangerouslySetInnerHTML` ne correspond pas à l'erreur dans React
- Comment j'ai résolu un problème avec un état de formulaire de connexion React et le remplissage automatique du navigateur
- Comment configurer HTTPS dans une application React sur localhost
- Comment corriger l'erreur "Impossible de mettre à jour un composant lors du rendu d'un composant différent" dans React
- Puis-je utiliser des hooks React dans un conditionnel?
- Utiliser useState avec un objet: comment mettre à jour
- Comment déplacer des blocs de code avec React et Tailwind
- Réagissez, concentrez un élément dans React lorsqu'il est ajouté au DOM
- Réagissez, modifiez le texte en double-clic