1.1.1 • Published 5 months ago
@zoya_haider/data-fetcher v1.1.1
Universal Fetcher
A flexible and reusable React component for fetching data with SSR support.
Installation
npm install @your-username/universal-fetcher
Features
- 🌐 Universal - Works in both client and server environments
- 📦 Multiple data format support (JSON, CSV, Text)
- ⚡ SSR Support
- 🔄 Automatic retries
- 🎯 Data transformation
- 💪 TypeScript support
Usage
import { UniversalFetcher } from '@your-username/universal-fetcher';
function MyComponent() {
return (
<UniversalFetcher
url="https://api.example.com/data"
format="json"
ssr={true}
transform={(data) => data.map(item => ({ ...item, modified: true }))}
onSuccess={(data) => console.log('Data loaded:', data)}
onError={(error) => console.error('Error:', error)}
>
{({ data, error, loading, refetch }) => {
if (loading) return <div>Loading...</div>;
if (error) return <div>Error: {error.message}</div>;
return (
<div>
<pre>{JSON.stringify(data, null, 2)}</pre>
<button onClick={refetch}>Reload</button>
</div>
);
}}
</UniversalFetcher>
);
}
Props
Prop | Type | Description |
---|---|---|
url | string | The URL to fetch data from |
format | 'json' | 'csv' | 'text' | The expected data format |
headers | HeadersInit | Optional request headers |
method | string | HTTP method (default: 'GET') |
body | any | Optional request body |
ssr | boolean | Enable/disable server-side rendering |
onSuccess | (data: any) => void | Success callback |
onError | (error: Error) => void | Error callback |
transform | (data: any) => any | Data transformation function |
License
MIT