Material UI와 테마 제공자 (JSS 사용)를 사용하는 응용 프로그램이 있습니다.
이제 fullcalendar-react를 통합하고 있습니다. 실제로는 완전한 React 라이브러리가 아니며 원래 fullcalendar 코드 주위의 얇은 React 구성 요소 래퍼입니다.
즉, 렌더링 소품과 같은 요소에 액세스하여 요소의 스타일을 지정하는 방법을 제어 할 수는 없습니다.
그러나 렌더링 할 때 호출되는 콜백 (예 : eventRender 메소드 )을 통해 DOM 요소에 직접 액세스 할 수 있습니다 .
이제 내가 원하는 것은 전체 캘린더 구성 요소 (예 : 버튼)를 나머지 응용 프로그램과 동일한 모양과 느낌으로 공유하는 것입니다.
이를 수행하는 한 가지 방법은 사용하는 클래스 이름을보고 스타일을 적절히 구현하여 모든 스타일을 수동으로 재정의 할 수 있다는 것입니다.
또는- 설명서에서 제안한 것처럼 Bootstrap 테마를 구현할 수 있습니다.
그러나 이러한 솔루션 중 하나의 문제점은 다음과 같습니다.
- 많은 일이 될 것입니다
- MUI 테마를 변경하고 캘린더 테마를 업데이트하지 않은 경우 동기화 모양이 다르게 보일 수 있습니다.
내가하고 싶은 것은 다음 중 하나입니다.
- MUI 테마를 Bootstrap 테마로 마술처럼 변환하십시오.
- 또는 MUI 클래스 이름과 달력 클래스 이름 사이에 다음과 같은 매핑을 만듭니다.
.fc-button = .MuiButtonBase-root.MuiButton-root.MuiButton-contained
.fc-button-primary= .MuiButton-containedPrimary
선택기 등을 마사지하여 작동시킬 필요는 없습니다 (예 : MUI 버튼에는 두 개의 내부 범위가 있지만 전체 달력에는 하나만 있음). 주로 테마를 변경할 때입니다. 두 곳에서 테마를 변경하고 싶지는 않습니다.
@extend
구문에 Sass와 같은 것을 사용하는 것이 내가 염두에 둔 것입니다. Sass를 사용하여 전체 캘린더 CSS를 쉽게 만들 수는 있지만 Sass는 어떻게 MuiTheme에 액세스 할 수 있습니까?
아마도 나는 반대의 접근법을 취할 수 있습니다-MUI에게 '이 클래스 이름은 이러한 MUI 클래스와 같은 스타일이어야합니다.'
이 문제를 해결하는 방법에 대한 구체적인 제안이 있습니까?
text-decoration
경우 헬멧에 속성을 추가해야합니다 .