每次需要客户端时都调用supabase
createClient
函数是(内存)问题吗?
我正在我的 React Native 应用程序中将 Clerk 与 Supabase 集成,根据文档,您应该在每次获取 supabase 之前获取最新的 Clerk JWT 令牌,因为它是短暂的。
在一些 Next.js 教程中,我找到了在每次获取之前创建新客户端并向其传递最新令牌的模式。
// use this function in every fetch
const supabaseClient = async supabaseAccessToken => {
const supabase = createClient(
process.env.SUPABASE_URL,
process.env.SUPABASE_KEY,
{
global: { headers: { Authorization: `Bearer ${supabaseAccessToken}` } }
}
);
return supabase;
};
我猜测对于 Next.js 来说,这已经被很好地清理了,或者它是一个单例,因为这种模式在官方教程中。那么在 React Native 中呢?我可以多次拨打
createClient
而不用担心内存问题吗?
我有一位 SUPABASE 开发人员的评论,指出最好的做法是始终创建新客户端:
在每个 api 路由中创建新的 supabase 客户端是最佳实践吗?
是的,最佳实践是在您需要使用新的 Supabase 客户端时随时创建它。
函数是一个超轻量级调用 - 它基本上只是设置一个对象,以便在您想要请求数据时能够进行 fetch 调用。createClient