Genetic tags: sdk.react.entity.gen1 · sdk.react.invalidation.gen1
RU: AI_REACT_SCAFFOLD_ru.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.getWallets({ projectId }, { signal }),
});
const create = useSDKMutationWithInvalidation({
invalidateEntity: 'wallets',
mutationFn: (sdk, body) => sdk.wallets.createWallet(body),
});
if (isLoading) return null;
return <pre>{JSON.stringify(data, null, 2)}</pre>;
}Monorepo registry example: agentstack-frontend/src/lib/appInvalidationRegistry.ts
Feature quickstart: ../../docs/SDK_FEATURE_QUICKSTART.md