rallly/components/use-required-context.ts
2022-04-15 18:08:28 +01:00

14 lines
360 B
TypeScript

import React from "react";
export const useRequiredContext = <T extends any>(
context: React.Context<T | null>,
errorMessage?: string,
) => {
const contextValue = React.useContext(context);
if (contextValue === null) {
throw new Error(
errorMessage ?? `Missing context provider: ${context.displayName}`,
);
}
return contextValue;
};