Provider外アクセス時に明確にthrowするContextを作るユーティリティ
errorMessagestring| Prop | Type | Default |
|---|---|---|
errorMessage | string | - |
[Context, useSafeContext]readonly [Context<T | null>, () => T]| Prop | Type | Default |
|---|---|---|
[Context, useSafeContext] | readonly [Context<T | null>, () => T] | - |
import { createSafeContext } from '@k8ordo/ui';const [CounterContext, useCounter] = createSafeContext<CounterValue>(
'useCounter must be used within CounterProvider',
);
const Provider: FC<PropsWithChildren> = ({ children }) => (
<CounterContext value={...}>{children}</CounterContext>
);
const Child = () => {
const { count } = useCounter(); // throws if used outside Provider
return <span>{count}</span>;
};