26 lines
573 B
TypeScript
26 lines
573 B
TypeScript
import {
|
|
createContext,
|
|
Dispatch,
|
|
FC,
|
|
ReactNode,
|
|
SetStateAction,
|
|
useContext,
|
|
useState,
|
|
} from 'react';
|
|
|
|
interface LedCountContext {
|
|
ledCount: number;
|
|
setLedCount: Dispatch<SetStateAction<number>>;
|
|
}
|
|
|
|
const Context = createContext<LedCountContext>(undefined as any);
|
|
|
|
export const LedCountProvider: FC<{ children: ReactNode }> = ({ children }) => {
|
|
const [ledCount, setLedCount] = useState(0);
|
|
return (
|
|
<Context.Provider value={{ ledCount, setLedCount }}>{children}</Context.Provider>
|
|
);
|
|
};
|
|
|
|
export const useLedCount = () => useContext(Context);
|