开始使用 React Native
这是基于 React Native 的 Granite 框架开发方式。适合需要原生级 UI/UX,或希望打造与 Toss应用自然融合体验的团队。
我想提供与 Toss应用原生 UI 一致的体验。
需要复杂的动画或手势处理。
是有 React Native 开发经验的团队。
如果想用 WebView 开发 → 开始使用 WebView
1. 创建项目
请在要创建应用的位置执行以下命令。
npm create granite-app@"^1"pnpm create granite-app@"^1"yarn create granite-app@"^1"1-1. 设置应用名称
应用名称要 kebab-case 格式输入。
my-granite-app1-2. 选择工具
创建项目时可以选择代码质量工具。
prettier+eslint:分别负责代码格式化和 linting。通过细致的配置和丰富的插件,支持灵活的代码质量管理。biome:这是一个基于 Rust 的快速、集成式格式化和 linting 工具。通过简单配置即可高效工作。
1-3. 安装依赖
进入项目文件夹后安装依赖。
[观看视频](../resources/tutorials/react-native/react-native-tutorial-scaffold.mp4)
2. 安装框架
要使用 Apps in Toss SDK, @apps-in-toss/framework 需要安装该包。
3. 修改配置文件
ait init 使用该命令可以配置应用开发所需的基础环境。
请选择框架。
应用名称(
appName)请输入。请与在 Apps in Toss 控制台注册的名称保持一致。
初始化完成后,项目根目录会生成 granite.config.ts 文件。 appName, displayName, icon请修改为与在 Apps in Toss 控制台注册的应用信息一致。
4. 安装 TDS
TDS(Toss Design System) React Native 使用该包可以轻松应用基于 Toss 设计系统的组件。
TDS 组件的使用方法和指南请查看 TDS React Native 文档。
5. 启动开发服务器
Metro 开发服务器启动后,可以在沙盒应用中查看迷你应用。关于在沙盒应用中测试的详细方法,请参考 沙盒应用 文档。
6. 运行迷你应用
在 iOS 模拟器中运行
启动沙盒应用。
输入 scheme 并点击“打开 Schema”按钮。示例:
intoss://kingtoss如果屏幕顶部
Bundling {n}%...显示时,就表示连接成功了。
[观看视频](../resources/development/local-server/rn-local-develop-ios-sim-example.mp4)
在 iOS 真机上运行
要在 iPhone 上运行,需要连接到与本地服务器相同的 Wi‑Fi。
启动沙盒应用后 "本地网络" 会显示权限请求消息。 "允许" 请点击按钮。
在服务器地址输入界面输入本地服务器 IP 地址并保存。
在 macOS 上
ipconfig getifaddr en0可以通过该命令确认 IP 地址。
点击“打开 Schema”按钮。
如果屏幕顶部
Bundling {n}%...显示时,就表示连接成功了。
观看视频
在 Android 真机或模拟器上运行
用 USB 将 Android 真机连接到电脑。
adb通过命令连接端口。要连接特定设备
-s请添加该选项。在沙盒应用中输入 scheme 并点击运行按钮。示例:
intoss://kingtoss如果屏幕顶部显示打包进度,就表示连接已完成。
[观看视频](../resources/development/local-server/rn-local-develop-android-example.mp4)
7. 调试
准备
React Native Debugger 需要 Chrome 浏览器。如果尚未安装, 请先下载 Chrome 浏览器。
使用 Metro 开发服务器调试
在开发服务器运行时,终端中的 j 键会打开 React Native Debugger。只有设备与 Metro 服务器连接时才能打开。
调试器提供以下选项卡。
Console:
console.log等方式记录的日志,并可在 REPL 环境中直接执行代码。Source:可以查看正在运行的代码并添加断点。
Network:可以查看网络请求和响应。
Memory:可以分析 Hermes 引擎的内存使用量。
Profiler:可以测量代码执行性能。
使用 Breakpoints 调试
要设置断点 Cmd + P按 Cmd + P 打开文件搜索窗口并选择文件。点击目标行即可添加断点。代码运行到该位置时会停止执行,并可查看当前状态。
在源代码中添加 debugger 关键字后,代码会在该位置自动暂停。
调试异常情况
Source 选项卡 可在右上角 Breakpoints 区域启用以下选项。
Pause on uncaught exceptions:在发生意外异常时自动暂停代码。
Pause on caught exceptions:无论是否已处理,所有异常都会暂停。
使用 React DevTools 调试
使用 React DevTools 可以可视化浏览组件结构并进行调试。
如果服务正在运行,请刷新开发模式 RN 视图 R 按键进行刷新。出现如下界面时,连接就完成了。
检查元素
点击元素选择按钮后,在设备上点选要查看的元素,React DevTools 会直接跳转到该元素。
[观看视频](../resources/learn-more/debugging/inspecting.mp4)
修改 Prop
可以查看所选组件的 Prop 并实时修改。双击目标 Prop 后输入值即可立即生效。
[观看视频](../resources/learn-more/debugging/changing-prop.mp4)
故障排查
8. 构建
Bundle 文件是 .ait 带有该扩展名的文件,是将构建后的项目打包后的产物。
构建完成后,在项目根目录会生成 <서비스명>.ait 文件。详细测试方法请参考 Toss应用 文档。
9. 发布
发布方法请参考 迷你应用发布 文档。