# useOptimisticData Gets the latest optimistic data with matching optimistic id from actions. Use `OptimisticInput` to accept optimistic data in forms. ```js import {CartForm, OptimisticInput, useOptimisticData} from '@shopify/hydrogen'; export default function Cart({line}) { const optimisticId = line.id; const optimisticData = useOptimisticData(optimisticId); return (
); } ``` ```ts import {CartForm, OptimisticInput, useOptimisticData} from '@shopify/hydrogen'; import {CartLine} from '@shopify/hydrogen-react/storefront-api-types'; type OptimisticData = { action: string; }; export default function Cart({line}: {line: CartLine}) { const optimisticId = line.id; const optimisticData = useOptimisticData(optimisticId); return (
); } ``` ## Props ### UseOptimisticDataGeneratedType #### Returns: #### Params: - identifier: string export function useOptimisticData(identifier: string) { const fetchers = useFetchers(); const data: Record = {}; for (const {formData} of fetchers) { if (formData?.get('optimistic-identifier') === identifier) { try { if (formData.has('optimistic-data')) { const dataInForm: unknown = JSON.parse( String(formData.get('optimistic-data')), ); Object.assign(data, dataInForm); } } catch { // do nothing } } } return data as T; }