React Guide
Hooks, Provider, streaming, and batch examples.
Install
npm install @xaikorea0/js-client react
useTaxia Hook (recommended)
import { useTaxia } from '@xaikorea0/js-client/react';
import { useEffect } from 'react';
export function App() {
const { query, loading, error, data } = useTaxia({
apiKey: process.env.REACT_APP_TAXIA_API_KEY || '',
cacheEnabled: true,
});
useEffect(() => {
query('법인세율은 얼마인가요?');
}, []);
if (loading) return Loading...;
if (error) return Error: {error.message};
return Answer: {data?.answer};
}
Provider + useTaxiaClient
import { TaxiaProvider, useTaxiaClient } from '@xaikorea0/js-client/react';
function QueryButton() {
const { client } = useTaxiaClient();
const [answer, setAnswer] = useState('');
const ask = async () => {
const res = await client.query('부가가치세율은?');
setAnswer(res.answer);
};
return ;
}
export function App() {
return (
);
}
Streaming
const { queryStream, loading } = useTaxia({ apiKey: 'YOUR_KEY' });
const [chunks, setChunks] = useState([]);
const handleStream = () => {
setChunks([]);
queryStream('법인세 신고 방법은?', (chunk) => setChunks((c) => [...c, chunk]));
};
Batch
const { client } = useTaxiaClient();
const results = await client.queryBatch(['법인세율?', '부가세율?']);