Tôi có một ứng dụng mà tôi đang sử dụng UI UI và nhà cung cấp chủ đề của nó (sử dụng JSS).
Bây giờ tôi đang kết hợp fullcalWiki-Reac , đây không thực sự là một thư viện React hoàn chỉnh - nó chỉ là một trình bao bọc thành phần React mỏng xung quanh mã fullcalWiki ban đầu.
Điều đó có nghĩa là, tôi không có quyền truy cập vào những thứ như đạo cụ kết xuất để kiểm soát cách nó tạo kiểu cho các thành phần của nó.
Tuy nhiên, nó cung cấp cho bạn quyền truy cập trực tiếp vào các phần tử DOM, thông qua một cuộc gọi lại được gọi khi nó kết xuất chúng (ví dụ: phương thức eventRender ).
Đây là một hộp cát demo cơ bản.
Bây giờ những gì tôi muốn làm là làm cho các thành phần Lịch đầy đủ (ví dụ: các nút) chia sẻ giao diện giống như phần còn lại của ứng dụng của tôi.
Một cách để làm điều này là tôi có thể ghi đè thủ công tất cả các kiểu bằng cách xem tên lớp mà nó sử dụng và triển khai kiểu cho phù hợp.
Hoặc - tôi có thể triển khai chủ đề Bootstrap - như được đề xuất trong tài liệu của họ.
Nhưng vấn đề với một trong những giải pháp này, đó là:
- Nó sẽ là rất nhiều công việc
- Tôi sẽ gặp vấn đề về đồng bộ hóa, nếu tôi thay đổi chủ đề MUI của mình và quên cập nhật chủ đề lịch thì chúng sẽ trông khác.
Những gì tôi muốn làm là:
- Kỳ diệu chuyển đổi chủ đề MUI thành chủ đề Bootstrap.
- Hoặc tạo ánh xạ giữa tên lớp MUI và tên lớp lịch, đại loại như:
.fc-button = .MuiButtonBase-root.MuiButton-root.MuiButton-contained
.fc-button-primary= .MuiButton-containedPrimary
Tôi không ngại phải xoa bóp các bộ chọn, v.v. để làm cho nó hoạt động (ví dụ: Ví dụ - Nút MUI có hai nhịp bên trong, trong khi Lịch đầy đủ chỉ có một). Chủ yếu là khi tôi thay đổi chủ đề - không muốn phải thay đổi chủ đề ở hai nơi.
Sử dụng một cái gì đó như Sass với @extend
cú pháp của nó sẽ là những gì tôi có trong tâm trí. Tôi có thể tạo CSS toàn lịch với Sass đủ dễ dàng - nhưng Sass sẽ có quyền truy cập vào MuiTheme như thế nào?
Có lẽ tôi có thể có cách tiếp cận ngược lại - nói với MUI 'Này các tên lớp này ở đây nên được đặt kiểu giống như các lớp MUI này'.
Bất kỳ đề nghị cụ thể về cách tôi sẽ giải quyết điều này?
text-decoration
tài sản vào mũ bảo hiểm.