supabase.realtime.setAuth(token)
会变魔术吗?还是我错过了什么?
完整代码在这里
import { useAuth } from '@clerk/clerk-react'
...
useEffect(() => {
const fetchTokenAndSubscribe = async () => {
const token = await getToken()
supabase.realtime.setAuth(token)
const channel = supabase.channel('public:messages')
channel
.on(
'postgres_changes',
{
event: 'INSERT',
schema: 'public',
table: 'messages',
},
handleMessageInsertOrUpdate,
)
.subscribe()
return () => {
channel.unsubscribe()
}
}
fetchTokenAndSubscribe()
}, [])
我在消息表上启用了真实的,但没有从消息中获得任何信息。我猜测这可能是关于RLS的问题,因此我禁用了它,但仍然没有运气。我的实施或配置中是否遗漏了什么?
1条答案
按热度按时间ddrv8njm1#
要开始使用realtime,您需要在每个表的基础上启用realtime。您可以通过 Jmeter 板转到
Database > Replication
并单击supabase_realtime
上行右侧的按钮来完成此操作,或者通过SQL启用它。https://supabase.com/docs/guides/realtime/extensions/postgres-changes#replication-setup