This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
使用 Supabase
编辑页面
使用 Supabase 为您的 React Native 应用添加 Postgres 数据库和用户身份验证。
Supabase 是一个后端即服务(BaaS)应用开发平台,提供托管的后端服务,例如 Postgres 数据库、用户身份验证、文件存储、边缘函数、实时同步,以及向量和 AI 工具包。它是 Google Firebase 的开源替代方案。
Supabase 会自动根据你的数据库生成一个 REST API,并采用一种称为行级安全性(RLS)的概念来保护你的数据,使你可以直接从 React Native 应用与数据库交互,而无需经过服务器!
Supabase 提供了一个名为 supabase-js 的 TypeScript 客户端库,用于与 REST API 交互。或者,Supabase 也提供 GraphQL API,如果你愿意,可以使用你喜欢的 GraphQL 客户端(例如 Apollo Client)。
2 requirements
2 requirements
1.
前往 database.new 创建一个新的 Supabase 项目。
使用 Supabase TypeScript SDK
使用 supabase-js 是充分利用 Supabase 技术栈全部能力最方便的方式,因为它将所有不同的服务(数据库、auth、realtime、storage、edge functions)都方便地组合在一起。
安装并初始化 Supabase TypeScript SDK
1
在你创建好 Expo 项目 之后,使用以下命令安装 @supabase/supabase-js 和所需依赖:
- npx expo install @supabase/supabase-js expo-sqlite2
创建一个辅助文件来初始化 Supabase 客户端(@supabase/supabase-js)。你需要此前复制的 API URL 和 Publishable 密钥。由于 Supabase 已在数据库中启用行级安全性,因此这些变量可以安全地公开在你的 Expo 应用中。
import 'expo-sqlite/localStorage/install'; import { createClient } from '@supabase/supabase-js'; const supabaseUrl = YOUR_REACT_NATIVE_SUPABASE_URL!; const supabasePublishableKey = YOUR_REACT_NATIVE_SUPABASE_PUBLISHABLE_KEY!; export const supabase = createClient(supabaseUrl, supabasePublishableKey, { auth: { storage: localStorage, autoRefreshToken: true, persistSession: true, detectSessionInUrl: false, }, });
现在你可以在整个应用中 import { supabase } from '/utils/supabase',以利用 Supabase 的全部能力!
接下来的步骤
了解如何在这个快速入门指南中将 Supabase Auth 和 Database 结合起来。
Supabase Auth 支持在 Web 端以及 iOS、macOS、watchOS 或 tvOS 的原生应用中使用 Apple 登录。
Supabase Auth 支持在 Web 端、原生 Android 应用以及 Chrome 扩展中使用 Google 登录。
在原生移动应用中执行 OAuth 或发送 magic link 邮件时,了解如何为 Android 和 iOS 应用配置深度链接。
了解如何将数据本地存储并使用 WatermelonDB 与 Postgres 同步。
了解如何在 React Native 应用中实现身份验证和文件上传。