J'utilise actuellement des modules CSS avec React pour mon style. Ainsi, chacun de mes composants est importé dans son fichier css spécifique au composant, comme suit:
import React from 'react';
import styles from './App.css';
const example = () => (
<div className={styles.content}>
Hello World!
</div>
);
export default example;
Cela fonctionne bien lors du style de composants individuels, mais comment puis-je appliquer un style global (html, body, balises d'en-tête, div, etc.) qui n'est pas spécifique à un composant?
Puisque vous utilisez la syntaxe d'importation ES6, vous pouvez utiliser la même syntaxe pour importer votre feuille de style.
import './App.css'
En outre, vous pouvez envelopper votre classe avec :global
pour passer à la portée globale (cela signifie que le module CSS ne le modifiera pas, par exemple: ajouter un identifiant aléatoire à côté de celle-ci)
:global(.myclass) {
background-color: red;
}
Cela peut être fait en ajoutant simplement:
require('./App.css');
(merci @elmeister qui a correctement répondu à cette question.)
Le seul moyen que j'ai trouvé pour importer des styles globalement, mais uniquement pour un itinéraire spécifique, consiste à ajouter:
<style dangerouslySetInnerHTML={{__html: `
body { max-width: 100% }
`}} />
dans la méthode de retour de render
.
Sinon, la balise style
serait ajoutée au <head>
et les styles seraient appliqués à tous les itinéraires suivants.
De https://medium.learnreact.com/the-style-tag-and-react-24d6dd3ca974
Peut-être que les styles pourraient être importés sous forme de chaîne à partir d'un fichier pour que le code soit mieux organisé.