GraphQL.cz/Články/Storybook a React-GraphQL intergrated

Vytváření dokumentace komponentů s GraphQL ve Storybooku

Jak využít Storybook k automatizaci a generaci dokumentace pro React komponenty využívající GraphQL.

656 slov
6.6 minut čtení
26. 1. 2020
Jana Procházková

Úvod do světa komponentů a dokumentace

Každý, kdo se pohybuje v oblasti vývoje webových aplikací, ví, jak důležitá je kvalitní dokumentace. Představte si, že máte úžasnou knihovnu komponentů postavenou na Reactu a GraphQL, ale nikdo neví, jak je správně používat. To je jako mít skvělý recept na jídlo, ale bez ingrediencí a návodu – zkrátka to nefunguje! V dnešním článku se podíváme, jak efektivně vytvářet dokumentaci pro vaše React komponenty pomocí Storybooku a GraphQL.

Co je Storybook?

Storybook je úžasný nástroj pro vývojáře, který umožňuje vytvářet izolované příběhy (stories) pro jednotlivé komponenty. Tyto příběhy slouží k tomu, abyste viděli, jak komponenty vypadají v různých stavech a jak reagují na různé vstupy. To nejen usnadňuje testování a ladění, ale také dává šanci ostatním vývojářům vidět komponenty na vlastní oči. To je základ pro vytváření kvalitní dokumentace!

Jak GraphQL zapadá do obrázku?

Pokud pracujete s Reactem, pravděpodobně už víte o výhodách GraphQL. Tento jazyk dotazů vám umožňuje získávat pouze ta data, která potřebujete, což činí vaše aplikace rychlejšími a efektivnějšími. Integrací GraphQL do Storybooku můžete snadno demonstrovat různé scénáře a stavy vašich komponentů.

Automatizace dokumentace pomocí Storybooku

Teď si pojďme říct, jak můžete pomocí Storybooku automatizovat generaci dokumentace pro vaše komponenty.

  1. Nastavení prostředí: Nejprve si ujistěte, že máte nainstalovaný Storybook ve vašem projektu. Můžete to udělat jednoduše pomocí příkazového řádku:

    npx sb init
    

    Tímto způsobem nainstalujete Storybook do vašeho projektu a nastavíte základní strukturu.

  2. Vytváření příběhů: Každá vaše komponenta by měla mít svůj příběh v souboru *.stories.js. V tomto souboru definujete různé varianty vaší komponenty – například její různé stavy (loading, error) nebo s různými datovými vstupy z GraphQL.

    import MyComponent from './MyComponent';
    import \{ graphql \} from 'react-apollo'; // nebo jinou GraphQL knihovnu
    
    export default \{
      title: 'MyComponent',
      component: MyComponent,
    \};
    
    export const Default = () =\> \<MyComponent data=\{mockData\} /\>;
    export const Loading = () =\> \<MyComponent loading /\>;
    export const Error = () =\> \<MyComponent error /\>;
    

    Tímto způsobem můžete snadno ukázat různé varianty vaší komponenty.

  3. Integrace s GraphQL: Použití GraphQL v Storybooku je klíčové pro demonstrování toho, jak vaše komponenty fungují s reálnými daty. Můžete použít mockované API nebo nastavit Apollo Client s mocked queries:

    import \{ MockedProvider \} from '@apollo/client/testing';
    import \{ MY_QUERY \} from './queries';
    
    const mocks = [
      \{
        request: \{ query: MY_QUERY \},
        result: \{ data: \{ ... \} \}, // zde vložte mockovaná data
      \},
    ];
    
    export const WithGraphQLData = () =\> (
      \<MockedProvider mocks=\{mocks\} addTypename=\{false\}\>
        \<MyComponent /\>
      \</MockedProvider\>
    );
    
  4. Generování dokumentace: Jakmile máte všechny své příběhy připravené, můžete použít Storybook k generování statické dokumentace. Toho docílíte pomocí addonů jako @storybook/addon-docs, které vám umožní přidat markdown popisy k vašim příběhům. To nejen zlepší čitelnost vaší dokumentace, ale také pomůže novým vývojářům rychle se orientovat ve vašem projektu.

  5. Zveřejnění dokumentace: Posledním krokem je zveřejnění vaší dokumentace na webových stránkách nebo pomocí nástrojů jako GitHub Pages či Netlify. Tímto způsobem zajistíte, že každý vývojář v týmu má přístup k aktuálním informacím o jednotlivých komponentách a jejich použití.

Závěr: Dokumentace jako klíč k úspěchu

Vytváření dokumentace není jen o psaní textu; jde o to usnadnit ostatním práci s vašimi komponentami a zlepšit celkovou kvalitu projektu. Pomocí Storybooku a GraphQL můžete snadno automatizovat tento proces a zajistit tak aktuální a přehlednou dokumentaci. Pokud se chcete dozvědět více o pokročilých technikách v oblasti Reactu nebo GraphQL, doporučuji sledovat naše další články na GraphQL.cz!
Pojďte do toho a začněte vytvářet dokumentaci tak skvělou jako vaše komponenty!

21134 přečtení článku
128 lajků
26. 1. 2020
Jana Procházková
  • Storybook

  • GraphQL

  • React

  • komponenty

  • dokumentace

  • automatizace

  • vývojářské nástroje

  • mockování dat

  • Apollo Client

O autorovi

Jana Procházková

Full-stack vývojářka se specializací na TypeScript a .NET. Má 5 let zkušeností s vývojem enterprise aplikací. Vystudovala VŠE v Praze a aktivně se podílí na vývoji českého GraphQL frameworku. Píše především o integraci GraphQL s různými backendovými technologiemi a správě datových schémat.

Dotazy k článku