GraphQL.cz/Fórum/Můžu použít GraphQL pro Storybook stories?

Můžu použít GraphQL pro Storybook stories?

Nedávno jsem se začal zajímat o GraphQL a všechny ty skvělé možnosti, co to nabízí pro práci s daty. V poslední době jsem také začal používat Storybook pro vývoj uživatelských komponent, a tak mě napadlo, jestli by nebylo možné spojit tyto dvě technologie dohromady. Zajímalo by mě, jestli je možné použít GraphQL jako zdroj dat pro Storybook stories. Mám na mysli, jestli bych mohl využít GraphQL API k načítání dat přímo do komponent, které v Storybooku vyvíjím. Viděl jsem nějaké příklady, kde lidé používají REST API, ale ještě jsem nenarazil na nic konkrétního o kombinaci GraphQL a Storybook. Jaké jsou vaše zkušenosti? Je to vůbec praktické, nebo se to spíše nedoporučuje? Jakým způsobem by se daly nastavit příběhy v Storybooku, aby braly data z GraphQL dotazů? Mělo by to nějaký vliv na výkon nebo na způsob testování komponent? Budu vděčný za jakékoli tipy nebo rady, které byste mohli mít.

149 slov
1.5 minut čtení
23. 8. 2024
Pavel Jílek
Pavel Jílek

Jo, můžeš použít GraphQL s Storybookem. Není to nějaký standard, ale spousta lidí to dělá. Můžeš si v příbězích načíst data přes GraphQL dotazy, což je fajn, protože tak můžeš ukázat komponenty s reálnýma datama. Taky to pomáhá při testování, když vidíš, jak komponenty reagují na různý data.

Když budeš používat GraphQL, tak si dej pozor na to, jak to zapojíš do Storybooku. Můžeš třeba udělat mockování těch dotazů pomocí Apollo Client nebo něco podobného, aby se ti při vývoji nestahovaly data z API pokaždé. To by mohlo zpomalit tvůj workflow.

Jinak je dobrý mít i nějaké fallback data pro případy, kdy by API nefungovalo nebo se načítalo dlouho. Takže si rozmysli, jestli to budeš chtít dělat s reálným API nebo jestli radši připravíš nějaký fake data pro Storybook.

V zásadě to funguje a můžeš tím dost obohatit svoje stories, ale chce to trošku víc práce než jen s REST API.

149 slov
1.5 minut čtení
11. 12. 2023
David Dunka
David Dunka

Jo, můžeš použít GraphQL pro Storybook stories. Není to nic neobvyklého, i když většina lidí jde spíš přes REST. Hlavní věc je, že potřebuješ nějaký způsob, jak získat data z GraphQL API v rámci příběhů. Můžeš to udělat třeba pomocí Apollo Client nebo jiného GraphQL klienta. Pak si vytvoříš komponentu, která vezme data pomocí dotazu a použije je ve Storybooku.

Můžeš mít problém s výkonem, pokud se dotazy budou volat přímo při renderování komponent. Lepší by bylo mockovat data pro příběhy, aby ses vyhnul zbytečným dotazům během vývoje. Taky si dávej pozor na to, že každá story by měla být co nejvíc izolovaná, takže používej přímo mockované odpovědi místo živých dat, pokud to jde.

Celkově je to praktické a může ti to hodně pomoci mít realistická data v příbězích, ale chce to trochu víc úsilí než s REST. Takže jestli máš zkušenosti s GraphQL, klidně do toho jdi.

146 slov
1.5 minut čtení
22. 4. 2023
Adam Kolář
Adam Kolář

Jo, můžeš použít GraphQL pro Storybook stories. Není to zas tak složitý, když to zorganizuješ správně. Můžeš si vytvořit mock server nebo použít Apollo Client na loadování dat přímo z GraphQL API v příbězích. Tím pádem můžeš snadno testovat komponenty s reálnými daty při vývoji. Je dobrý mít na paměti, že to může trochu zpomalit tvoji Storybook aplikaci, pokud máš hodně dotazů. Takže nějaké mockované odpovědi by mohly být rozumný kompromis pro rychlost. V podstatě si nastavení stories uděláš podobně jako s REST API, akorát místo fetch voláš svůj GraphQL dotaz. Nezapomeň ale na error handling a loading state, ty jsou v Storybooku taky dost důležitý. Jinak bych to i doporučil, je to fajn způsob jak ukázat jak komponenty pracují s daty.

122 slov
1.2 minut čtení
12. 9. 2022
Nikola Říhová
Nikola Říhová
Podobné otázky