Created basic calendar context

This commit is contained in:
Dmitriy Shishkov 2020-10-27 22:58:08 +05:00
parent 9d9e2b7b39
commit fd28aaee6c
No known key found for this signature in database
GPG Key ID: D76D70029F55183E
2 changed files with 47 additions and 4 deletions

38
src/context.tsx Normal file
View File

@ -0,0 +1,38 @@
import React, { createContext, Dispatch, SetStateAction, useState } from 'react'
type CalendarContextStateT = {
month: number
year: number
firstDayOfMonth: number
lastDayOfMonth: number
numberOfDays: number
}
type CalendarContextT = {
state: CalendarContextStateT
setState?: Dispatch<SetStateAction<CalendarContextStateT>>
}
const initialCalendarContextState: CalendarContextStateT = {
month: 1,
year: 1,
firstDayOfMonth: 0,
lastDayOfMonth: 0,
numberOfDays: 0,
}
export const CalendarContext = createContext<CalendarContextT>({
state: initialCalendarContextState,
})
export const CalendarProvider: React.FC = ({ children }) => {
const [state, setState] = useState<CalendarContextStateT>(
initialCalendarContextState
)
return (
<CalendarContext.Provider value={{ state, setState }}>
{children}
</CalendarContext.Provider>
)
}

View File

@ -1,7 +1,12 @@
import * as React from "react";
import React from 'react'
import { CalendarProvider as CalendarContextProvider } from './context'
const Calendar: React.FC = () => {
return <div>Calendar</div>;
};
return (
<CalendarContextProvider>
<div></div>
</CalendarContextProvider>
)
}
export default Calendar;
export default Calendar