Skip to content

Latest commit

 

History

History
40 lines (35 loc) · 1.28 KB

File metadata and controls

40 lines (35 loc) · 1.28 KB

AI React scaffold

Genetic tags: sdk.react.entity.gen1 · sdk.react.invalidation.gen1
EN: AI_REACT_SCAFFOLD.md

import {
  SDKProvider,
  useEntityData,
  useSDKMutationWithInvalidation,
  InvalidationRegistryProvider,
} from '@agentstack/react';
import { resolveAgentStackApiBase } from '@agentstack/sdk';

export function App() {
  return (
    <SDKProvider config={{ apiBase: resolveAgentStackApiBase() }}>
      <InvalidationRegistryProvider registry={yourRegistry}>
        <WalletsList projectId={1} />
      </InvalidationRegistryProvider>
    </SDKProvider>
  );
}

function WalletsList({ projectId }: { projectId: number }) {
  const { data, isLoading } = useEntityData('wallets', {
    projectId,
    fetchList: (sdk, signal) => sdk.wallets.list({ projectId }, { signal }),
  });
  const create = useSDKMutationWithInvalidation({
    invalidateEntity: 'wallets',
    mutationFn: (sdk, body) => sdk.wallets.create(body),
  });
  if (isLoading) return null;
  return <pre>{JSON.stringify(data, null, 2)}</pre>;
}

Пример registry в monorepo: agentstack-frontend/src/lib/appInvalidationRegistry.ts
Подробнее: REACT_QUERY_INTEGRATION_ru.md · INTEGRATOR_SCOPE_ru.md.