Comment utiliser CSS pour styliser une application React
En utilisant React, vous pouvez ajouter du style à vos composants de différentes manières.
Utilisation de classes et CSS
Le premier et le plus simple consiste à utiliser des classes et à utiliser un fichier CSS normal pour cibler ces classes:
const Button = () => {
return <button className="button">A button</button>
}
.button {
background-color: yellow;
}
Vous pouvez importer la feuille de style à l'aide d'une instruction d'importation, comme ceci:
import './style.css'
etWebpackse chargera d'ajouter la propriété CSS au bundle.
Utilisation de l'attribut style
Une deuxième méthode consiste à utiliser lestyle
attribut attaché à un élément JSX. En utilisant cette approche, vous n'avez pas besoin d'un fichier CSS séparé.
const Button = () => {
return <button style={{ backgroundColor: 'yellow' }}>A button</button>
}
Le CSS est maintenant défini d'une manière légèrement différente. Tout d'abord, remarquez les doubles accolades: c'est parce questyle
accepte un objet. Nous passons dans un objet JavaScript, qui est défini entre accolades. Nous pourrions également faire ceci:
const buttonStyle = { backgroundColor: 'yellow' }
const Button = () => {
return <button style={buttonStyle}>A button</button>
}
Lors de l'utilisationcreate-react-app
, ces styles sont automatiquement préfixés par défaut grâce à son utilisation deAutoprefixer.
De plus, le style est désormais camelCased au lieu d'utiliser des tirets. Chaque fois qu'une propriété CSS a un tiret, supprimez-le et commencez le mot suivant en majuscule.
Les styles ont l'avantage d'être locaux au composant et ils ne peuvent pas s'infiltrer dans d'autres composants dans d'autres parties de l'application, ce que l'utilisation de classes et d'un fichier CSS externe ne peut pas fournir.
Utilisation des modules CSS
Modules CSSsemble être un endroit parfait au milieu: vous utilisez des classes, mais CSS est limité au composant, ce qui signifie que tout style que vous ajoutez ne peut pas être appliqué à d'autres composants sans votre permission. Et pourtant vos styles sont définis dans un fichier CSS séparé, qui est plus facile à maintenir que CSS en JavaScript (et vous pouvez utiliser vos bons vieux noms de propriétés CSS).
Commencez par créer un fichier CSS qui se termine par.module.css
, par exempleButton.module.css
. Un excellent choix est de lui donner le même nom que le composant que vous allez styliser
Ajoutez votre CSS ici, puis importez-le dans le fichier composant que vous souhaitez styliser:
import style from './Button.module.css'
maintenant vous pouvez l'utiliser dans votre JSX:
const Button = () => {
return <button className={style.content}>A button</button>
}
C'est tout! Dans le balisage résultant, React générera une classe spécifique et unique pour chaque composant rendu et affectera le CSS à cette classe, de sorte que le CSS n'affecte pas les autres balisages.
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