gajus / gajus/babel-plugin-react-css-modules
Trouble using dynamic/generated scss class names in styleName (Could not resolve the styleName)
- Lingua principale
- JavaScript
- Stelle
- 2k
- Fork
- 159
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
I use the plugin postcss-scss together with sass-loader in Webpack 4.
It works if the css class names are global and i use the normal `className` prop instead of `styleName`.
I import the .scss file at the top of my component.
The error I get is: `Could not resolve the styleName 'tablet-6'.`
SCSS code (Column.scss):
```
@import '../../../utils.scss';
.column {
width: 100%;
}
@each $breakpoint, $value in $breakpoints {
@for $i from 1 through $gridColumns {
.#{$breakpoint}-#{$i} {
width: #{$i * $gridColumnsWidth + %};
}
}
}
```
JS code (Column.js)
```
import React from 'react'
import PropTypes from 'prop-types'
import classNames from 'classnames'
import './Column.scss'
const Column = props => (
)}
>
{props.children}
)
Column.propTypes = {
children: PropTypes.node.isRequired,
mobile: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
tablet: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
desktop: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
}
Column.defaultProps = {
mobile: undefined,
tablet: undefined,
desktop: undefined,
}
export default Column
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia riproducendo l’errore segnalato di Column.js con le classi generate in Column.scss, utilizzando la configurazione descritta di postcss-scss e sass-loader. Traccia il modo in cui styleName risolve le classi SCSS importate e confrontalo con i nomi dei breakpoint generati; il lavoro è completato quando i nomi dinamici vengono risolti senza l’errore segnalato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, react, scss, webpack
- Ambito
- frontend
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 25/100