我有supabase“实时”设置,并且我正在接收有效负载,但payload.new始终为空。请看下面的例子
{
"payload": {
"schema": "public",
"table": "ReportIdeally",
"commit_timestamp": null,
"eventType": "UPDATE",
"new": {},
"old": {},
"errors": [
"Error 401: Unauthorized"
]
}
}
我正在通过以下方式收听 Realtime:
useEffect(() => {
const runsupabase =
supabase
.channel("any")
.on(
"postgres_changes",
{
event: "*",
schema: "public",
table: "*",
},
(payload) => {
console.log("New Payload", {payload});
}
)
.subscribe();
return () => {
supabase.removeChannel(runsupabase)
}
}, [supabase]);
当然我启用了相关的表格。我还没有启用 RLS,所以我很困惑为什么这仍然没有返回包含更新项目的有效负载? 与身份验证问题有关吗?即使我尚未设置身份验证,是否需要在标头中添加身份验证承载? 我的 Supabase 初始化如下:
import { createClient } from "@supabase/supabase-js";
export const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_KEY!
);
同样的问题,请问有解决办法吗?