Skip to content

FeatureFlagProvider

The FeatureFlagProvider component provides feature flag context to your application.

import { FeatureFlagProvider } from '@localflag/react';

The default values for all feature flags.

type FeatureFlags = Record<string, boolean | string | number>;

Key used for localStorage persistence.

  • Type: string
  • Default: "localflag:overrides"
<FeatureFlagProvider
defaultFlags={flags}
storageKey="my-app:flags"
>

Whether to persist flag overrides to localStorage.

  • Type: boolean
  • Default: true
<FeatureFlagProvider
defaultFlags={flags}
persistOverrides={false}
>
const defaultFlags = {
darkMode: false,
betaFeatures: true,
maxResults: 50,
} as const;
type AppFlags = typeof defaultFlags;
function App() {
return (
<FeatureFlagProvider defaultFlags={defaultFlags}>
<MyApp />
</FeatureFlagProvider>
);
}

For full type safety, define your flags with as const and create a type alias:

export const defaultFlags = {
darkMode: false,
newUI: true,
} as const;
export type AppFlags = typeof defaultFlags;

Then use generics when accessing flags:

const darkMode = useFeatureFlag<AppFlags>('darkMode');