src/storage/storage.stories.tsx (29 lines of code) (raw):

import {useEffect, useState} from 'react'; import Storage from './storage'; export default { title: 'Components/Storage', parameters: { notes: 'Provides a façade to localStorage/sessionStorage/cookies.', screenshots: {skip: true}, }, }; export const Basic = () => { const [text, setText] = useState(''); useEffect(() => { const STORAGE_KEY = 'storage-example-key'; const storage = new Storage(); let value; async function init() { const storedValue = await storage.get(STORAGE_KEY); if (!storedValue) { const generatedValue = Math.random().toString(); await storage.set(STORAGE_KEY, generatedValue); value = generatedValue; } else { value = storedValue; } setText(`Stored value = ${value}`); } init(); }, []); return <div>{text}</div>; }; Basic.storyName = 'Storage';