Désolé, ce problème a déjà été signalé. J'ai essayé de trouver une solution à Google et de rechercher les problèmes ici, mais je ne trouve aucun élément décrivant mon problème.Le module CSS importé côté serveur n'est pas conforme aux attentes
Je reçois une erreur de la part de React disant que le balisage du client et du serveur ne correspond pas et que la somme de contrôle échoue. Cela conduit à un FOUC.
Tenir compte des sources suivantes:
// MyComponent.scss
.myComponent {
background: black;
}
// MyComponent.js
import styles from './MyComponent.scss';
const MyComponent =() => <div className={styles.myComponent}>Hello</div>;
export default MyComponent;
Sur le client, cela fonctionne comme prévu et styles.myComponent
seront rendus sous MyComponent-myComponent-[hash]
que vous pourriez attendre.
Cependant, sur le serveur styles.myComponent
est indéfini, le nom de classe est omis et c'est ce qui provoque l'erreur dans la console car la structure DOM ne correspond pas. J'ai connecté l'objet styles et il semblerait que sur le serveur il y ait un objet locals
et c'est là que je trouve mon nom de composant rendu. par exemple
styles: {
locals: {
myComponent: 'MyComponent-myComponent-[hash]'
}
}
Je ne sais pas où commencer à chercher la raison pour laquelle l'objet du module importé css semble être différent sur le client que sur le serveur.