mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-11 11:58:41 +00:00
1.3 KiB
1.3 KiB
Feature Flags
Usage
- set provider
import { FeatureFlagsProvider } from '@toeverything/datasource/feature-flags';
const App = () => {
return (
<FeatureFlagsProvider>
<Page />
</FeatureFlagsProvider>
);
};
- use flag
import { useFlag } from '@toeverything/datasource/feature-flags';
const App = () => {
// flag key, default value
const flag1 = useFlag('flag1', false);
// ^? boolean
const flag2 = useFlag<boolean>('flag2');
// ^? boolean | undefined
return flag1 && <div>The flag1 is enable!</div>;
};
How to add a new feature flag?
- Enter Portal
- Click
New Switchbutton- Input
Switch Name, and Enter - Adjust data and save
- Input
Test flags
When entering development mode feature flag will NOT be updated in real time
activateFfcDevMode()play with feature flags locallyquitFfcDevMode()quit dev mode
Running unit tests
Run nx test datasource/feature-flags to execute the unit tests via Jest.