feature-flags by facebook/react
npx skills add https://github.com/facebook/react --skill feature-flags| 文件 | 用途 |
|---|---|
packages/shared/ReactFeatureFlags.js | 默认标志(canary 版本),__EXPERIMENTAL__ 覆盖 |
packages/shared/forks/ReactFeatureFlags.www.js | www 渠道,__VARIANT__ 覆盖 |
packages/shared/forks/ReactFeatureFlags.native-fb.js | React Native,__VARIANT__ 覆盖 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
packages/shared/forks/ReactFeatureFlags.test-renderer.js | 测试渲染器 |
@gate 编译指示(测试级别)当功能在没有标志的情况下完全不可用时使用:
// @gate enableViewTransition
it('supports view transitions', () => {
// 此测试仅在 enableViewTransition 为 true 时运行
// 当为 false 时会被跳过(而非失败)
});
gate() 内联(断言级别)当功能存在但行为根据标志不同时使用:
it('renders component', async () => {
await act(() => root.render(<App />));
if (gate(flags => flags.enableNewBehavior)) {
expect(container.textContent).toBe('new output');
} else {
expect(container.textContent).toBe('legacy output');
}
});
ReactFeatureFlags.js 并设置默认值*.www.js、*.native-fb.js 等)__VARIANT__@gate flagName 或内联 gate() 进行门控测试使用 /flags 查看各渠道的状态。完整命令选项请参阅 flags 技能。
__VARIANT__ 标志(GKs)设置为 __VARIANT__ 的标志模拟守门员 - 会测试两次(true 和 false):
/test www <pattern> # __VARIANT__ = true
/test www variant false <pattern> # __VARIANT__ = false
/flags --diff <channel1> <channel2> 比较值@gate 条件 - 测试可能被门控到特定渠道/test <channel> <pattern> 以隔离故障__VARIANT__ 标志,始终测试 www 和 www variant falsegate()gate(flags => flags.name),而不是 gate('name')每周安装次数
659
代码仓库
GitHub 星标数
244.1K
首次出现时间
2026年1月24日
安全审计
安装于
opencode541
codex525
gemini-cli522
github-copilot473
claude-code429
amp420
| File | Purpose |
|---|---|
packages/shared/ReactFeatureFlags.js | Default flags (canary), __EXPERIMENTAL__ overrides |
packages/shared/forks/ReactFeatureFlags.www.js | www channel, __VARIANT__ overrides |
packages/shared/forks/ReactFeatureFlags.native-fb.js | React Native, __VARIANT__ overrides |
packages/shared/forks/ReactFeatureFlags.test-renderer.js | Test renderer |
@gate pragma (test-level)Use when the feature is completely unavailable without the flag:
// @gate enableViewTransition
it('supports view transitions', () => {
// This test only runs when enableViewTransition is true
// and is SKIPPED (not failed) when false
});
gate() inline (assertion-level)Use when the feature exists but behavior differs based on flag:
it('renders component', async () => {
await act(() => root.render(<App />));
if (gate(flags => flags.enableNewBehavior)) {
expect(container.textContent).toBe('new output');
} else {
expect(container.textContent).toBe('legacy output');
}
});
ReactFeatureFlags.js with default value*.www.js, *.native-fb.js, etc.)__VARIANT__ in the fork file@gate flagName or inline gate()Use /flags to view states across channels. See the flags skill for full command options.
__VARIANT__ Flags (GKs)Flags set to __VARIANT__ simulate gatekeepers - tested twice (true and false):
/test www <pattern> # __VARIANT__ = true
/test www variant false <pattern> # __VARIANT__ = false
/flags --diff <channel1> <channel2> to compare values@gate conditions - test may be gated to specific channels/test <channel> <pattern> to isolate the failurewww AND www variant false for __VARIANT__ flagsgate() if both paths should rungate(flags => flags.name), not gate('name')Weekly Installs
659
Repository
GitHub Stars
244.1K
First Seen
Jan 24, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode541
codex525
gemini-cli522
github-copilot473
claude-code429
amp420
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
106,200 周安装