Para cualquier persona interesada, me encontré con el mismo problema al usar módulos CSS y reaccionar módulos CSS .
La mayoría de los componentes tienen un estilo de módulo CSS asociado y, en este ejemplo, mi botón tiene su propio archivo CSS, al igual que el componente principal Promo . Pero quiero pasar algunos estilos adicionales a Button desde Promo
Entonces, el stylebotón capaz se ve así:
Button.js
import React, { Component } from 'react'
import CSSModules from 'react-css-modules'
import styles from './Button.css'
class Button extends Component {
render() {
let button = null,
className = ''
if(this.props.className !== undefined){
className = this.props.className
}
button = (
<button className={className} styleName='button'>
{this.props.children}
</button>
)
return (
button
);
}
};
export default CSSModules(Button, styles, {allowMultiple: true} )
En el componente Botón anterior, los estilos Button.css manejan los estilos de botón comunes. En este ejemplo solo una .buttonclase
Luego, en mi componente donde quiero usar el botón , y también quiero modificar cosas como la posición del botón, puedo establecer estilos adicionales Promo.cssy pasarlos como el classNameaccesorio. En este ejemplo nuevamente llamado .buttonclass. Podría haberlo llamado cualquier cosa, por ejemplo promoButton.
Por supuesto, con los módulos css, esta clase será .Promo__button___2MVMDmientras que el botón uno será algo como.Button__button___3972N
Promo.js
import React, { Component } from 'react';
import CSSModules from 'react-css-modules';
import styles from './Promo.css';
import Button from './Button/Button'
class Promo extends Component {
render() {
return (
<div styleName='promo' >
<h1>Testing the button</h1>
<Button className={styles.button} >
<span>Hello button</span>
</Button>
</div>
</Block>
);
}
};
export default CSSModules(Promo, styles, {allowMultiple: true} );