我无法让 Supabase 实时监听 Postgres 更改来工作

Tom*_*und 2 supabase supabase-database

受到Supabase 文档的启发,我在 React Native 应用程序中有以下代码:

useEffect(() => {
  if (session?.user?.id === null) return
  const channel = supabase
    .channel('value-db-changes', { selfBroadcast: true })
    .on(
      'postgres_changes',
      {
        event: 'UPDATE',
        schema: 'public',
        table: 'messages',
        filter: `user_id=${session?.user?.id}`
      },
      (payload) => console.log('Supabase change', payload)
    )
    ?.subscribe()
}, [session?.user?.id])
Run Code Online (Sandbox Code Playgroud)

VSCode 警告我,当我编辑数据库中的行时,永远不会显示Property 'subscribe' does not exist on type 'never'console.log

and*_*cio 5

您的代码似乎是正确的。问题可能是您忘记在 supabase 上启用复制。

打开您的 SUPABASE 项目仪表板,从左侧菜单中选择“数据库”,然后选择“复制”。单击“源”下的“表”按钮,然后选择您允许实时使用的表。