1.5.42 • Published 10 months ago

@supabase-kit/react v1.5.42

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

get start

Hooks by management data from supabase and fetch data by react.

install

  npm i @supabase-kit/react
  bun add @supabase-kit/react
  pnpm add @supabase-kit/react
  yarn add @supabase-kit/react

create tools

import { createSupabaseTools } from '@supabase-kit/react';
import { createClient } from '@supabase/supabase-js';

const supabaseUrl = '';

const supabaseKey = '';

export const supabase = createClient(supabaseUrl, supabaseKey);

export const {
    // query parsser object to client
    QueryBuilder,
    // hooks
    useSupabase,
    useSupaQuery,
    useSupaSession,
    useSupaRealtime,
    useSupaSubscription,
    useSupaInfiniteQuery,
} = createSupabaseTools(supabase);

useSupabase: return supabase client

'use client';
import React from 'react';
import { useSupabase } from '@/createSupabaseTools';

export const Example = () => {
    const supabase = useSupabase();

    return <div>{urls.panel.root}</div>;
};

useSupaQuery: query by fetch data

  • table — The name of the table to query.

  • column — Columns to select from the table.

  • count — Count type for the query.

  • options — Additional options for the query hook from @tanstack/react-query.

  • single — Flag indicating if a single row should be returned.

  • enabled — Flag to enable/disable the query execution.

  • where — condition by where how in, is, eq, neq, filter, etc.

'use client';
import { useSupabase } from '@/createSupabaseTools';

export const Example = () => {
    const book = useSupaQuery({
        table: 'book',
        where: {
            eq: { id: 1 },
        }
    });

    return <div>{JSON.stringify(book.data)}</div>;
};

useSupaRealtime: query by fetch data in realtime

  • table — The table to listen to.

  • where — A filter to apply to the subscription.

  • channel — The channel to subscribe to.

'use client';
import { useSupaRealtime } from '@/createSupabaseTools';

export const Example = () => {
    const book = useSupaRealtime({
        table: 'book',
        where: {
            key: 'id',
            operator: 'in',
            value: [1, 2, 5],
        },
    });

    return <div>{JSON.stringify(book.data)}</div>;
};

useSupaSubscription: query by fetch data in realtime with customn

  • table — The name of the table to subscribe to.

  • schema — The database schema to use.

  • event — Event type to listen for (e.g., INSERT, UPDATE, DELETE).

  • where — Filter object to specify conditions for events.

  • type — Type of event to listen for.

  • channel — Channel name for the subscription.

  • callback — Callback function to handle subscription payloads.

'use client';
import { useState } from 'react';
import { useSupaSubscription } from '@/createSupabaseTools';

export const Example = () => {
    const [subscription, setSubscription] = useState({});

    useSupaSubscription({
        event: '*',
        table: 'book',
        schema: 'public',
        channel: 'general',
        type: 'postgres_changes',
        callback(payload) {
            console.log(payload);
            setSubscription(payload);
        },
        where: {
            key: 'id',
            operator: 'in',
            value: [1, 2, 5],
        },
    });

    return <div>{JSON.stringify(subscription)}</div>;
};
1.5.30

10 months ago

1.5.32

10 months ago

1.5.36

10 months ago

1.5.16

10 months ago

1.5.18

10 months ago

1.5.40

10 months ago

1.5.42

10 months ago

1.5.20

10 months ago

1.5.22

10 months ago

1.5.24

10 months ago

1.5.26

10 months ago

1.5.28

10 months ago

1.5.10

1 year ago

1.5.12

1 year ago

1.5.7

1 year ago

1.5.14

1 year ago

1.5.1

1 year ago

1.5.0

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago

0.3.5

1 year ago

0.3.1

1 year ago

0.2.7

1 year ago

0.2.2

1 year ago

0.1.9

1 year ago

0.1.0

1 year ago