สำหรับทุกคนที่สนใจผมวิ่งเข้าไปในปัญหาเดียวกันนี้เมื่อใช้โมดูล CSSและตอบสนองโมดูล CSS
ส่วนประกอบส่วนใหญ่มีรูปแบบโมดูล css ที่เกี่ยวข้องและในตัวอย่างนี้ปุ่มของฉันมีไฟล์ css ของตัวเองเช่นเดียวกับองค์ประกอบหลักของPromo แต่ฉันต้องการส่งต่อรูปแบบเพิ่มเติมบางอย่างให้กับปุ่มจากโปรโมชัน
ดังนั้นstyle
ลักษณะปุ่มสามารถเช่นนี้
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} )
ในองค์ประกอบปุ่มด้านบนสไตล์Button.css จะจัดการกับรูปแบบปุ่มทั่วไป ในตัวอย่างนี้เป็นเพียง.button
ชั้นเรียน
จากนั้นในส่วนประกอบของฉันที่ฉันต้องการใช้ปุ่มและฉันยังต้องการแก้ไขสิ่งต่างๆเช่นตำแหน่งของปุ่มฉันสามารถตั้งค่ารูปแบบพิเศษในPromo.css
และส่งผ่านเป็นclassName
เสาได้ ในตัวอย่างนี้เรียกอีกครั้งว่า.button
คลาส promoButton
ฉันจะได้เรียกมันว่าอะไรเช่น
แน่นอนด้วยโมดูล css คลาสนี้จะเป็น.Promo__button___2MVMD
ในขณะที่ปุ่มหนึ่งจะเป็นแบบนี้.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} );