İlgilenen herkes için, css modüllerini kullanırken ve css modüllerine tepki verirken aynı sorunu yaşadım .
Çoğu bileşenin ilişkili bir css modülü stili vardır ve bu örnekte , Promo ana bileşeninde olduğu gibi Button'ım kendi css dosyasına sahiptir . Ama bazı ek stiller geçmek istiyorum Düğme gelen Promo
Böylece style
mümkün Düğme şuna benzer:
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} )
Yukarıdaki Button bileşeninde Button.css stilleri ortak düğme stillerini ele alır. Bu örnekte sadece bir .button
sınıf
Ardından, Düğmeyi kullanmak istediğim bileşenimde ve ayrıca düğmenin konumu gibi şeyleri değiştirmek istiyorum, ek stiller ayarlayabilir Promo.css
ve className
destek olarak geçebilirim . Bu örnekte yine .button
sınıf denir . Örneğin buna herhangi bir şey diyebilirdim promoButton
.
Tabii ki css modülleri ile bu sınıf olacaktır, .Promo__button___2MVMD
oysa birinci düğme gibi bir şey olacaktır..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} );