react-use-calendar
Custom React Hook for implementing a calendar with events

Installation
npm install react-use-calendar --save
Usage
;; { const state actions = ; return <table> <thead> <tr> <td colSpan=5 style= textAlign: 'center' > <strong>statemonth - stateyear</strong> </td> <td colSpan=2 style= textAlign: 'right' > <button onClick= actions> < </button> <button onClick= actions> > </button> </td> </tr> <tr> statedays </tr> </thead> <tbody> stateweeks </tbody> </table> ; }
API
useCalendar
const state actions = ;
Parameters
Field | Type | Description |
---|---|---|
date | date |
Initialize calendar with starting date |
config | object |
Configuration |
config
Key | Type | Description |
---|---|---|
events | array |
Calendar events as an array of objects. [{ startDate: date, endDate: date, note: string }] |
numOfWeeks | number |
Number of calendar weeks. default: 6 |
numOfDays | number |
Number of days per week. default: 7 |
rtl | boolean |
Enable right-to-left |
locale | object |
date-fns locale |
Returns
state
Key | Type | Description |
---|---|---|
days | array |
Short names for days of week ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] |
weeks | array |
Weeks of calendar [{ day: object }] |
month | string |
Current month in full month format |
year | number |
Current year |
{
date: date,
dayIndex: number,
dayOfMonth: number,
dayOfWeek: string,
dayOfYear: number,
events: array,
isToday: boolean,
isSameMonth: boolean,
isWeekend: boolean,
weekIndex: number
}
actions
Key | Type | Description |
---|---|---|
setDate | function |
Set current day for Calendar function(today: date) |
getNextMonth | function |
Set calendar to next month |
getPrevMonth | function |
Set calendar to previous month |
addEvent | function |
Add an event to calendar. function(event: { startDate: date, endDate: date, note: string }) |
removeEvent | function |
Remove event from calendar function(id: number) |
Localization
;; ; { const state actions = ; return <div> ... </div> ;}
License
The files included in this repository are licensed under the MIT license.