GitHub - jquense/react-big-calendar: gcal/outlook like calendar component
source link: https://github.com/jquense/react-big-calendar
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
react-big-calendar
An events calendar component built for React and made for modern browsers (read: IE10+) and uses flexbox over the classic tables-ception approach.
Inspired by Full Calendar.
Use and Setup
yarn add react-big-calendar
or npm install --save react-big-calendar
Include react-big-calendar/lib/css/react-big-calendar.css
for styles, and make sure your calendar's container
element has a height, or the calendar won't be visible. To provide your own custom styling, see the Custom Styling topic.
Starters
Run examples locally
$ git clone [email protected]:intljusticemission/react-big-calendar.git $ cd react-big-calendar $ yarn $ yarn examples
Localization and Date Formatting
react-big-calendar
includes three options for handling the date formatting and culture localization, depending
on your preference of DateTime libraries. You can use either the Moment.js, Globalize.js or date-fns localizers.
Regardless of your choice, you must choose a localizer to use this library:
Moment.js
import { Calendar, momentLocalizer } from 'react-big-calendar' import moment from 'moment' const localizer = momentLocalizer(moment) const MyCalendar = props => ( <div> <Calendar localizer={localizer} events={myEventsList} startAccessor="start" endAccessor="end" style={{ height: 500 }} /> </div> )
Globalize.js v0.1.1
import { Calendar, globalizeLocalizer } from 'react-big-calendar' import globalize from 'globalize' const localizer = globalizeLocalizer(globalize) const MyCalendar = props => ( <div> <Calendar localizer={localizer} events={myEventsList} startAccessor="start" endAccessor="end" style={{ height: 500 }} /> </div> )
date-fns v2
import { Calendar, dateFnsLocalizer } from 'react-big-calendar' import format from 'date-fns/format' import parse from 'date-fns/parse' import startOfWeek from 'date-fns/startOfWeek' import getDay from 'date-fns/getDay' import enUS from 'date-fns/locale/en-US' const locales = { 'en-US': enUS } const localizer = dateFnsLocalizer({ format, parse, startOfWeek, getDay, locales, }) const MyCalendar = props => ( <div> <Calendar localizer={localizer} events={myEventsList} startAccessor="start" endAccessor="end" style={{ height: 500 }} /> </div> )
Custom Styling
Out of the box, you can include the compiled CSS files and be up and running. But, sometimes, you may want to style Big Calendar to match your application styling. For this reason, SASS files are included with Big Calendar.
@import 'react-big-calendar/lib/sass/styles';
@import 'react-big-calendar/lib/addons/dragAndDrop/styles'; // if using DnD
SASS implementation provides a variables
file containing color and sizing variables that you can
update to fit your application. Note: Changing and/or overriding styles can cause rendering issues with your
Big Calendar. Carefully test each change accordingly.
Join us on Reactiflux Discord
Join us on Reactiflux Discord community under the channel #libraries if you have any questions.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK