mcpField
F
feature-flags-react-native

feature-flags-react-native

github.com/posthog开发76107 次安装今天更新
代码仓库

关于 feature-flags-react-native

为 React Native 应用添加 PostHog 功能标记的开发技能,面向实现功能标记的开发者。提供集成指导、代码实践建议,并可借助已连接的 PostHog MCP 服务管理标记。

主要功能

  1. 01指导安装与功能标记实现
  2. 02使用 React hooks 检查标记
  3. 03建议优先采用布尔标记
  4. 04强调环境变量与最小代码改动
  5. 05可通过 PostHog MCP 工具管理标记

适用场景

  1. 01为 React Native 功能接入功能标记
  2. 02从 PostHog 创建或更新功能标记
  3. 03按标记状态呈现应用界面

MCP 相关

若已连接 PostHog MCP 服务,可查找用于创建、列出、更新和删除功能标记的工具,并直接管理标记。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/posthog/skills --skill feature-flags-react-native

安装后在 Claude Code 中输入/feature-flags-react-native确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
adding-feature-flag-code.md
best-practices.md
react-native.md

详细介绍

用于 React Native 的 PostHog 功能标志

此技能可帮助你在 React Native 应用中添加 PostHog 功能标志。

参考文件

  • references/react-native.md - React Native 功能标志安装文档
  • references/adding-feature-flag-code.md - 添加功能标志代码文档
  • references/best-practices.md - 功能标志最佳实践文档

请查阅文档,了解 API 详情和框架专用模式。

核心原则

  • 环境变量:始终使用环境变量存储 PostHog 密钥。切勿将密钥硬编码。
  • 尽量减少改动:在现有逻辑旁添加功能标志代码。不要替换或重构现有代码。
  • 优先使用布尔标志:除非用户明确要求多变量标志,否则默认使用布尔标志检查。
  • 尽可能在服务端处理:优先在服务端评估标志,以避免界面闪烁。

PostHog MCP 工具

检查是否已连接 PostHog MCP 服务。如果已连接,请查找与功能标志管理相关的工具(创建、列出、更新和删除标志)。使用这些工具直接在 PostHog 中管理标志,而不是要求用户手动在控制面板中操作。

框架指南

  • 对于功能标志,请使用 useFeatureFlagEnabled() 或 useFeatureFlagPayload() 钩子——它们会自动处理加载状态和外部同步
  • 在用户操作发生的事件处理函数中添加分析事件捕获,切勿在响应状态变化的 useEffect 中添加
  • 不要使用 useEffect 转换数据——应在渲染期间计算派生值
  • 不要使用 useEffect 响应用户事件——应将逻辑放在事件处理函数本身中
  • 不要使用 useEffect 串联状态更新——应在事件处理函数中一并计算所有相关更新
  • 不要使用 useEffect 通知父组件——应在事件处理函数中与 setState 一起调用父组件回调
  • 若要在 prop 变化时重置组件状态,请将 prop 作为组件的 key 传入,而不是使用 useEffect
  • useEffect 仅用于与外部系统同步(非 React 组件、浏览器 API、网络订阅)
  • posthog-react-native 是 React Native SDK 的包名
  • 使用 react-native-config 从 .env 加载 POSTHOG_PROJECT_TOKEN 和 POSTHOG_HOST(变量会在构建时嵌入,而非运行时)
  • react-native-svg 是 posthog-react-native 的必需同级依赖(供 surveys 功能使用),必须与其一并安装
  • 为兼容 React Navigation v7,请将 PostHogProvider 放在 NavigationContainer 内部

评论

支持 Markdown