问题描述
我有一个 create-react-app,我正在添加 RBC。我有基本的日历设置并使用简单的 CSS(我从 node_module 文件夹中获取了 CSS 文件,然后移到了组件文件夹)。基本日历就在那里,但它真的很基本。
我的问题是:我注意到 node_module 中有一个 SASS 文件夹。 我应该以某种方式使用它吗?如果是这样,我该如何开始?我以前没用过 SASS。
代码如下:
//Packages
import React from "react";
import axios from "axios";
import { Calendar,momentLocalizer } from 'react-big-calendar'
import { Row,Button,Col,Card,CardBody,CardSubtitle } from "reactstrap";
import withDragAndDrop from 'react-big-calendar/lib/addons/dragAndDrop';
import moment from 'moment';
//CSS
import 'react-big-calendar/lib/sass/styles';
import "./react-big-calendar.css";
import './dragndrop.css';
import "./schedule.css";
const DnDCalendar = withDragAndDrop(Calendar);
const localizer = momentLocalizer(moment);
//Components
let myEventsList = [
{
'title': 'Huddle #2 @ 2pm','allDay': true,'start': new Date(2021,1,5),'end': new Date(2021,5)
},{
'title': 'Huddle #2 @ 2pm',12),12)
},{
'title': 'Huddle #3 @ 2pm',19),19)
},26),26)
},]
class Schedule extends React.Component {
constructor(props){
super(props);
this.state = {
// date: new Date(2021,// width: 1000
}
};
eventSelect = (data) => {
this.setState({width: 300})
console.log("Event Drag:" + JSON.stringify(data))
};
eventDrag = (data) => {
console.log("Event Select:" + JSON.stringify(data))
};
eventDrop = (data) => {
console.log("Event Drop:" + JSON.stringify(data))
};
eventResize = (data) => {
console.log("Event Resize: "+JSON.stringify(data))
};
componentDidMount(){
};
shouldComponentUpdate(props,state) {
};
//Render to Dom
render() {
return (
<div className="schedule_container">
<div className="calendar_container">
<div className="key_dates">Key Dates:</div>
<DnDCalendar
className="dnd_calendar"
style={{ height: '30rem',width: '100%' }}
step={30}
localizer={localizer}
events={myEventsList}
startAccessor="start"
endAccessor="end"
view={this.state.view}
views={['month','week','day']}
onSelectSlot={(data) => this.eventSelect(data)}
onEventDrop={(data) => this.eventDrop(data)}
onEventResize={(data) => this.eventResize(data)}
onSelectEvent={(data) => this.eventDrag(data)}
/>
</div>
<div className="event_container">
<div className="event_details">Event Details</div>
<Card>
<CardBody>
This is the card with stuffy stuff
</CardBody>
</Card>
</div>
</div>
);
};
};
export default Schedule;
如您所见,我尝试导入 SASS 文件夹,但我不知道自己在做什么,并且出现错误并且没有任何效果。我也尝试下载 node-sass
模块,但没有任何区别。
任何建议或建议将不胜感激!谢谢!
解决方法
当您安装 node-sass 时,您只需要创建一个包含样式的 scss 文件,并在构建时将其编译为 scss 文件所在路径的 css 文件
您可以在这里阅读更多信息 https://create-react-app.dev/docs/adding-a-sass-stylesheet/
你可以比较 css -> sass like javascript -> typescript sass 为您提供了更多的可能性,例如特定导入、使用变量等等,但最终所有内容都会构建到一个普通的 css 文件中。
因此,对于您的案例和问题,您只需将编译后的 css 文件导入到您的项目中,然后您就可以访问这些样式类。