Я новичок в React
и scss
. Может быть, это базовый c вопрос, но я думаю, что это действительно странно.
Я создал 4 файла:
Компонент. js
import React from "react";
import CompStyles from "./component.module.scss";
const Component = (props) => {
console.log(CompStyles["test"], props.className);
return (
<div className={`${CompStyles["test"]} ${props.className}`}>
{props.children}
</div>
);
};
export default Component;
component.module .s css
.test {
color: red;
}
Демо. js
import React from "react";
import DemoStyles from "./demo.module.scss";
import Component from "./Component";
const Demo = (props) => {
return <Component className={DemoStyles["demo"]}>Text</Component>;
};
export default Demo;
demo.module.s css
.demo {
color: green;
}
Component.js
является компонент basi c как показывает его имя. И я включаю Component
как ребенок Demo
в Demo.js
. У них обоих есть scss
файлы.
Мое намерение очевидно. Я хочу переписать некоторые стили Component
, поэтому передайте className
реквизиты в Component
и обработайте эту логику c в Component.js
. Но в результате я не могу перезаписать его.
После некоторых исследований и Google, я знаю причину, по которой это scss import priority
проблема. При запуске Demo.js
загружается demo.module.scss
, а component.module.scss
будет загружено позже.
Так как мне добиться переопределения стилей компонентов? Я думаю, что это очень базовое c требование.