用途
Brownie 为 React Native brownfield(混合)应用提供跨平台共享状态。它适用于在已有原生应用中嵌入 React Native 的场景,帮助 JS 侧与 Android、iOS 原生宿主共享同一份状态。
该技能适合在以下情况参考:在既有 brownfield 应用中搭建 @callstack/brownie;在 *.brownie.ts 中定义或修改 store schema;在 JS 侧使用 useStore、subscribe、getSnapshot 或 setState;在 Android 或 iOS 宿主中注册与消费 store;打包并嵌入包含 Brownie 的 iOS framework。
主要能力与工作流
整体工作流从 *.brownie.ts 的 store 定义开始,运行 brownfield codegen(或包含 codegen 的打包命令),然后在 TypeScript、Android 和 iOS 三端使用类型化 API。
安装:
npm install @callstack/brownie
生成原生类型:
npx brownfield codegen
打包命令同样包含 Brownie codegen:
iOS
npx brownfield package:ios --scheme YourScheme --configuration Release
Android
npx brownfield package:android --module-name :YourModuleName --variant release npx brownfield publish:android --module-name :YourModuleName
参考文档分工
技能按主题路由到不同参考文件:
- getting-started.md:初次安装、前置条件、设置顺序、首次集成。
- store-definition-and-codegen.md:*.brownie.ts schema 规则、BrownieStores 增强、类型映射、何时重新运行 codegen。
- typescript-usage.md:useStore 选择器、更新模式、低层 API(subscribe、getSnapshot、setState)。
- android-usage.md:Android 注册生命周期、序列化器选项、包设置、构建与发布流程。
- swift-and-xcframework.md:Swift store 注册与 UI 使用,以及 XCFramework 打包与嵌入。
使用方式
检索时遵循单参考优先原则:先从上表中选出与请求最匹配的一个主要参考文件,再打开其他文件。找到所需命令或 API 后即停止继续阅读。仅当第一个参考不含所需命令或 API 时,才打开第二个参考交叉查阅。在测试上下文中,只返回精炼的可操作步骤,最多使用一个代码片段,不重复概述、范围或背景部分。
适用场景与限制
适用于跨 JS、Android、iOS 的 brownfield 共享状态管理,需要先定义 store 并生成原生类型。关于具体收费、价格、平台支持细节、性能效果或完整使用步骤,资料中暂未提供。