{"componentChunkName":"component---src-templates-standard-tag-js","path":"/tags/hooks/","result":{"pageContext":{"page":{"id":"cGFnZToxMTA=","slug":"tag","title":"Tag","content":null,"databaseId":110,"featuredImage":null,"seo":{"focuskw":"","title":"Tag - Gladiatorzy JavaScriptu","opengraphTitle":"","metaKeywords":"","metaDesc":"","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"","opengraphImage":null},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},"tag":{"name":"hooks","slug":"hooks","count":1},"products":[{"id":"cHJvZHVjdDo2MA==","name":"Ambitne i wymagające zadania z JS i React","slug":"ambitne-i-wymagajace-zadania-z-js-i-react","productId":60,"description":"<h3>Druga część zbioru rekrutacyjnych i treningowych zadań  z serii &#8222;Gladiator Javascriptu&#8221;</h3>\n<h4>Poziom: Junior/Mid</h4>\n<h4>Praktyka: min 200h</h4>\n<p>Dla tych, którzy są gotowi na rynek, ale wiedzą, że muszą się dalej uczyć bardziej zaawansowanej wiedzy z programowania. Obowiązkowa pozycja dla osób, które niskim kosztem chce mieć ogrom zadań praktycznych w rozwoju w kierunku pierwszej pracy bądź poznania Reacta lepiej i bardziej praktycznie. Druga część z 3 częściowego zestawu zbiorów</p>\n<div class=\"quote\">\n<p>Monika</p>\n<p>Ćwiczę z Przemkiem już jakiś czas zadania i czuję, że dopiero teraz zaczynam uczyć się dobrze kodować</p>\n</div>\n<h5>Tematy rozwijane w tym zbiorze:</h5>\n<ul>\n<li><strong>JS</strong> &#8211;  algorytmy, struktury danych, programowanie obiektowe i funkcyjne, asynchroniczność wzorce</li>\n<li><strong>React</strong> &#8211; Zaawansowane komponenty oraz wzorce, ContextApi, Hooks</li>\n<li><strong>Testy</strong> &#8211; budowanie prostych scenariuszy do testów integracyjnych i jednostkowych</li>\n</ul>\n<h3>Co dokładnie znajdziesz w środku?</h3>\n<h4>Zadania z JS:</h4>\n<ul>\n<li>10 zadań z pracy na arrayach</li>\n<li>4 zadania z pracy na promisach</li>\n<li>3 zadania ze implementacji wzorców projektowych</li>\n<li>1 zadanie z pracy na obiektach</li>\n<li>5 zadań z o różnej tematyce</li>\n</ul>\n<h4>Zadania z Reacta:</h4>\n<ul>\n<li>5 zadań z budowania komponentów</li>\n<li>2 zadania z pracy z React Context</li>\n<li>7 zadań z budowania customowych React Hooks</li>\n<li>4 zadania z budowania logiki routingu w apkach Reacta</li>\n</ul>\n<h4>Bonusy:</h4>\n<ul>\n<li>4 zadania ze zbióru <strong>Nieprzewidziane i sprawiające problemy testy JS i React</strong></li>\n<li>3 pomysły na ambitne projekty do portfolio</li>\n<li>Co 3-4 msc aktualizacja zadań</li>\n</ul>\n<h3>A gdzie znajdziesz przykładowe rozwiązania zadań? -&gt; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">TU</a></h3>\n<p><strong>Do każdego z tych zadań NIE MA JEDNEGO, dobrego rozwiązania</strong>. Różne podejścia do zadań wraz z omówieniem części teoretycznej oraz code review przykładowych rozwiązań można oglądać w nagraniach Gladiatorów Javascriptu &#8211; <a href=\"https://gladiators-of-javascript.com/blog/categories/nagrania-live-z-gladiatorow-javascriptu/\">pod tym linkiem</a></p>\n<h5>Idealna pozycja w bibliotece każdego programisty frontendowego &#8211; książka, która nigdy się nie zdezaktualizuje. Można zawsze puścić commita z updatem 🙂</h5>\n<h6>Mały bonus:<br />\nKupienie jakiegokolwiek zbioru skutkuje rabatem -20% na zajęcia z mentorami 🙂</h6>\n","shortDescription":"<p><span data-sheets-formula-bar-text-style=\"font-size:13px;color:#000000;font-weight:bold;text-decoration:none;font-family:'Arial';font-style:normal;text-decoration-skip-ink:none;\">Zbiór z zaawansowanymi zadaniami z JS i React</span></p>\n","type":"SIMPLE","featured":true,"totalSales":null,"productCategories":{"nodes":[{"name":"Zbiory zadań","slug":"zbiory-zadan"}]},"productTags":{"nodes":[{"name":"hoc","slug":"hoc","count":1},{"name":"hooks","slug":"hooks","count":1},{"name":"javascript","slug":"javascript","count":4},{"name":"junior","slug":"junior","count":5},{"name":"react","slug":"react","count":3},{"name":"redux","slug":"redux","count":3},{"name":"router","slug":"router","count":1}]},"seo":{"title":"Ambitne i wymagające zadania z JS i React - Gladiatorzy JavaScriptu","opengraphTitle":"","metaKeywords":"","metaDesc":"Dla tych, którzy są gotowi na rynek, ale wiedzą, że muszą się dalej uczyć bardziej zaawansowanej wiedzy z programowania. Ponad 200h praktycznej pracy z JS i React","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"","opengraphImage":null},"regularPrice":"150.00&nbsp;zł","salePrice":"120.00&nbsp;zł","image":{"altText":"","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior-600x593.png 600w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-junior.png","sizes":null},"attributes":{"nodes":[{"name":"pa_link","options":["ambitne-i-wymagajace-zadania-z-js-i-react"]}]},"upsell":{"nodes":[{"name":"Wszystkie zbiory zadań Gladiatorów Javascriptu","slug":"wszystkie-zbiory-zadan","image":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo.png","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo.png 1001w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-300x300.png 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators_logo-600x600.png 600w"}},{"name":"Nieprzewidziane i sprawiające problemy testy JS i React","slug":"nieprzewidziane-i-sprawiajace-problemy-testy-js-i-react","image":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior.png 2418w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-100x100.png 100w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators-mid-junior-600x593.png 600w"}}]},"crossSell":{"nodes":[]},"galleryImages":{"nodes":[{"slug":"gladiators2star","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators2star.png 500w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators2star-300x300.png 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators2star-100x100.png 100w","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/05/gladiators2star.png"}]},"reviews":{"averageRating":0,"nodes":[]},"stockQuantity":null,"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}}],"posts":[{"id":"cG9zdDoxMDMw","slug":"intersectionobserver-serwowany-jako-custom-hook-w-react-i-typescript","title":"IntersectionObserver serwowany jako custom hook w React i Typescript","date":"2020-10-09T11:27:31","databaseId":1030,"content":"\n<h3>Gladiatorzy Javascriptu rozwijają się z tygodnia na tydzień i już coraz lepiej piszą swój kod. W tym tygodniu zadanie z budowania customowych hooków w oparciu o natywne api JS</h3>\n\n\n\n<p>Live Code Review i Gladiatorów z 08.10.2020 można obejrzeć tutaj:</p>\n\n\n\n<p><a href=\"https://drive.google.com/file/d/14RCzjQQOQcFvOhzAYo84mCtc0W-grjEQ/view?usp=sharing\">https://drive.google.com/file/d/14RCzjQQOQcFvOhzAYo84mCtc0W-grjEQ/view?usp=sharing</a></p>\n\n\n\n<p>Kolejny Live Code Review za nami, a z tygodnia na tydzień Gladiatorzy uczą się coraz więcej. Z uwagi na sezon chorobowy tylko jednak z grup zrobiła zadanie, ale zrobiła je w bardzo ciekawy sposób wykorzystując wzorzec singleton</p>\n\n\n\n<h4>Zadania:</h4>\n\n\n\n<p>W tym tygodniu przez prawie godzinę gadaliśmy o hookach w React i o tym jak je poprawnie otypować. Jaką moc ma mało znany IntersectionObserver oraz jak można testować coś zależne do scrolla</p>\n\n\n\n<p>Jeśli chcesz obejrzeć kod rozwiązań to oto są rozwiązania Gladiatorów:</p>\n\n\n\n<ul><li><a>https://github.com/bartektelec/react-intersection-observer-hook</a></li></ul>\n\n\n\n<h4>Projekt:</h4>\n\n\n\n<p>Grupa projektowa realizuje drugi z mikroserwisów swojej apki do CV &#8211; XNotes. Mikroserwis ma służyć do obsługi repozytorium z notatkami, które ma służyć jako wygodne miejsce do przetrzymywania danych dostępnych zarówno z apki jak i z wielu innych miejsc &#8211; w końcu to zwykłe repo. Rozmawialiśmy o kolejnych widokach, które zaprojektować jeden z Gladiatorów oraz wskazałem Gladiatorom jak można poprawić strukturę plików, aby było im wygodniej pracować  </p>\n\n\n\n<p>Jeśli chcesz zajrzeć w kod projektu to repo znajdziesz tutaj:</p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https://github.com/Drugi-Legion-Gladiatorow\" target=\"_blank\">https://github.com/Drugi-Legion-Gladiatorow</a></p>\n\n\n\n<h3>Zapraszam do obejrzenia całego nagrania!</h3>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":"","sizes":null,"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/07/tim-van-der-kuip-CPs2X8JYmS8-unsplash-scaled.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/07/tim-van-der-kuip-CPs2X8JYmS8-unsplash-scaled.jpg 2560w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/07/tim-van-der-kuip-CPs2X8JYmS8-unsplash-scaled-600x400.jpg 600w"},"categories":{"nodes":[{"slug":"nagrania-live-z-gladiatorow-javascriptu","id":"Y2F0ZWdvcnk6ODk=","name":"Nagrania Live z Gladiatorów Javascriptu"}]},"tags":{"nodes":[{"slug":"gladiatorzy","name":"gladiatorzy","count":15},{"slug":"hooks","name":"hooks","count":3},{"slug":"nauka","name":"nauka","count":45},{"slug":"react","name":"react","count":10},{"slug":"testy","name":"testy","count":8},{"slug":"typescript","name":"typescript","count":11}]},"comments":{"nodes":[]},"seo":{"title":"IntersectionObserver serwowany jako custom hook w React i Typescript - Gladiatorzy JavaScriptu","opengraphTitle":"IntersectionObserver serwowany jako custom hook w React i Typescript - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Gladiatorzy Javascriptu rozwijają się z tygodnia na tydzień i już coraz lepiej piszą swój kod. W tym tygodniu zadanie z budowania customowych hooków w oparciu o natywne api JS","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Gladiatorzy Javascriptu rozwijają się z tygodnia na tydzień i już coraz lepiej piszą swój kod. W tym tygodniu zadanie z budowania customowych hooków w oparciu o natywne api JS","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/07/tim-van-der-kuip-CPs2X8JYmS8-unsplash-scaled.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDo2MDE=","slug":"customowe-hooki-sporo-o-typowaniu-i-kilkanacie-dobrze-napisanych-testow-w-react-i-typescript","title":"Customowe hooki, sporo o typowaniu hooków i kilkanaście dobrze napisanych testów w React i Typescript","date":"2020-08-28T16:52:33","databaseId":601,"content":"\n<h3>Typescript, React, Hooki i Testy. Moi Gladiatorzy Javascriptu rozwijają się z tygodnia na tydzień i już coraz lepiej piszą swój kod</h3>\n\n\n\n<p>Live Code Review i Gladiatorów z 27.08.2020 można obejrzeć tutaj:</p>\n\n\n\n<p><a href=\"https://drive.google.com/file/d/1EMbDwoMzk4zKIkPwMGvo6rSU1J5wqDo0/view?usp=sharing\" target=\"_blank\" rel=\"noreferrer noopener\">https://drive.google.com/file/d/1EMbDwoMzk4zKIkPwMGvo6rSU1J5wqDo0/view?usp=sharing</a></p>\n\n\n\n<p>Kolejny Live Code Review za nami, a z tygodnia na tydzień Gladiatorzy uczą się coraz więcej. Jak zwykle mniej problemu sprawdziają moje zadania, niż poprawne otestowanie ich</p>\n\n\n\n<h4>Zadania:</h4>\n\n\n\n<p>W tym tygodniu przez ponad godzinę rozmawialiśmy o customowych hookach i o tym dlaczego ważne jest otypowanie ich w sposób generyczny, aby nie zastanawiać się nad spójnością danych pracujących w hookach. Każde rozwiązanie, które sprawdziłem było całkiem fajnie zrobione i otestowane</p>\n\n\n\n<p>Jeśli chcesz obejrzeć kod rozwiązań to oto są rozwiązania Gladiatorów:</p>\n\n\n\n<ul><li>useMemoState &#8211; <a href=\"https://github.com/refixshow/useMemoState\" target=\"_blank\" rel=\"noreferrer noopener\">https://github.com/refixshow/useMemoState</a></li><li>TableWithPagination &#8211; <a href=\"https://github.com/karolina-szlenk/TableWithPagination.js\" target=\"_blank\" rel=\"noreferrer noopener\">https://github.com/karolina-szlenk/TableWithPagination.js</a></li></ul>\n\n\n\n<h4>Projekt:</h4>\n\n\n\n<p>Grupa projektowa zaczęła realizację drugiego z mikroserwisów swojej apki do CV &#8211; XNotes. Mikroserwis ma służyć do obsługi repozytorium z notatkami, które ma służyć jako wygodne miejsce do przetrzymywania danych dostępnych zarówno z apki jak i z wielu innych miejsc &#8211; w końcu to zwykłe repo</p>\n\n\n\n<p>Jeśli chcesz zajrzeć w kod projektu to repo znajdziesz tutaj:</p>\n\n\n\n<p><a href=\"https://github.com/Drugi-Legion-Gladiatorow\" target=\"_blank\" rel=\"noreferrer noopener\">https://github.com/Drugi-Legion-Gladiatorow</a></p>\n\n\n\n<p>Pod koniec nagrania wyszedł temat potęgi Github Actions, który najprawdopodobniej będzie tematem jednego ze specjalnych odcinków Gladiatórów Javascriptu</p>\n\n\n\n<h3>Zapraszam do obejrzenia całego nagrania!</h3>\n\n\n\n<p>Do następnego commita!</p>\n","featuredImage":{"altText":"","sizes":"(max-width: 200px) 100vw, 200px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/arif-riyanto-vJP-wZ6hGBg-unsplash-scaled.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/arif-riyanto-vJP-wZ6hGBg-unsplash-200x300.jpg 200w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/arif-riyanto-vJP-wZ6hGBg-unsplash-682x1024.jpg 682w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/arif-riyanto-vJP-wZ6hGBg-unsplash-768x1154.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/arif-riyanto-vJP-wZ6hGBg-unsplash-1022x1536.jpg 1022w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/arif-riyanto-vJP-wZ6hGBg-unsplash-1363x2048.jpg 1363w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/arif-riyanto-vJP-wZ6hGBg-unsplash-600x901.jpg 600w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/arif-riyanto-vJP-wZ6hGBg-unsplash-scaled.jpg 1704w"},"categories":{"nodes":[{"slug":"nagrania-live-z-gladiatorow-javascriptu","id":"Y2F0ZWdvcnk6ODk=","name":"Nagrania Live z Gladiatorów Javascriptu"}]},"tags":{"nodes":[{"slug":"gladiatorzy","name":"gladiatorzy","count":15},{"slug":"hooks","name":"hooks","count":3},{"slug":"nauka","name":"nauka","count":45},{"slug":"react","name":"react","count":10},{"slug":"testy","name":"testy","count":8},{"slug":"typescript","name":"typescript","count":11}]},"comments":{"nodes":[]},"seo":{"title":"Customowe hooki, sporo o typowaniu hooków i kilkanaście dobrze napisanych testów w React i Typescript - Gladiatorzy JavaScriptu","opengraphTitle":"Customowe hooki, sporo o typowaniu hooków i kilkanaście dobrze napisanych testów w React i Typescript - Gladiatorzy JavaScriptu","metaKeywords":"","metaDesc":"Typescript, React, Hooki i Testy. Moi Gladiatorzy Javascriptu rozwijają się z tygodnia na tydzień i już coraz lepiej piszą swój kod","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Typescript, React, Hooki i Testy. Moi Gladiatorzy Javascriptu rozwijają się z tygodnia na tydzień i już coraz lepiej piszą swój kod","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/arif-riyanto-vJP-wZ6hGBg-unsplash-scaled.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}},{"id":"cG9zdDo1NDc=","slug":"typy-w-komponentach-funkcyjnych-reacta-oraz-w-hookach-troche-na-temat-testowania","title":"Typy w komponentach funkcyjnych Reacta oraz w Hookach + trochę na temat testowania","date":"2020-08-21T19:43:55","databaseId":547,"content":"\n<h3>Typescript, React, Hooki i Testy. Dużo błędów młodych programistów i wartościowego Code Review ich zadań &#8211; czyli nowy odcinek Gladiatorów Javascriptu</h3>\n\n\n\n<p>Live Code Review i Gladiatorów z 20.08.2020 można obejrzeć tutaj:<br><a href=\"https://drive.google.com/file/d/1apjAo1SfIy9N7RJENYAld-I7Uo8Sai92/view?usp=sharing\">https://drive.google.com/file/d/1apjAo1SfIy9N7RJENYAld-I7Uo8Sai92/view?usp=sharing</a></p>\n\n\n\n<p>Na początku jak zwykle słaba jakość, ale po 2 min robi się już ok!</p>\n\n\n\n<p>W tym tygodniu przez 2h prezentowaliśmy różne rozwiązania zadań z Reacta wraz z testami, oraz było opowiedziane trochę o typowaniu w React, oraz kilka wzmianek o hooksach. Większość rozwiązań Gladiatorów nie było poprawnych, więc warto posłuchać, bo może też popełniasz podobne błędy</p>\n\n\n\n<p>Na tygodniu będę rozmawiać z grupą projektową oraz projektować z nimi layout do aplikacji XNotes<br><br>Jeśli chcesz zajrzeć w kod projektu to repo znajdziesz tutaj:</p>\n\n\n\n<p><a href=\"https://github.com/Drugi-Legion-Gladiatorow\">https://github.com/Drugi-Legion-Gladiatorow</a></p>\n\n\n\n<h3>Zapraszam do obejrzenia!</h3>\n\n\n\n<h4>Do następnego commita!</h4>\n","featuredImage":{"altText":"","sizes":"(max-width: 300px) 100vw, 300px","sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/andrew-neel-fkalryO4dUI-unsplash-scaled.jpg","srcSet":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/andrew-neel-fkalryO4dUI-unsplash-300x200.jpg 300w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/andrew-neel-fkalryO4dUI-unsplash-1024x683.jpg 1024w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/andrew-neel-fkalryO4dUI-unsplash-768x512.jpg 768w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/andrew-neel-fkalryO4dUI-unsplash-1536x1024.jpg 1536w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/andrew-neel-fkalryO4dUI-unsplash-2048x1365.jpg 2048w, https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/andrew-neel-fkalryO4dUI-unsplash-600x400.jpg 600w"},"categories":{"nodes":[{"slug":"nagrania-live-z-gladiatorow-javascriptu","id":"Y2F0ZWdvcnk6ODk=","name":"Nagrania Live z Gladiatorów Javascriptu"}]},"tags":{"nodes":[{"slug":"gladiatorzy","name":"gladiatorzy","count":15},{"slug":"hooks","name":"hooks","count":3},{"slug":"nauka","name":"nauka","count":45},{"slug":"react","name":"react","count":10},{"slug":"testy","name":"testy","count":8},{"slug":"typescript","name":"typescript","count":11}]},"comments":{"nodes":[]},"seo":{"title":"Typy w komponentach funkcyjnych Reacta oraz w Hookach + trochę na temat testowania - Gladiatorzy JavaScriptu","opengraphTitle":"Typy w komponentach funkcyjnych Reacta oraz w Hookach + trochę na temat testowania","metaKeywords":"","metaDesc":"Typescript, React, Hooki i Testy! Dużo błędów młodych programistów i wartościowego Code Review - czyli nowy odcinek Gladiatorów Javascriptu","metaRobotsNofollow":"","metaRobotsNoindex":"","opengraphDescription":"Typescript, React, Hooki i Testy! Dużo błędów młodych programistów i wartościowego Code Review - czyli nowy odcinek Gladiatorów Javascriptu","opengraphImage":{"sourceUrl":"https://gladiatorzy.api.localhost-group.com/wp-content/uploads/2020/08/andrew-neel-fkalryO4dUI-unsplash-scaled.jpg"}},"siteMetaData":{"description":"Gladiatorzy JavaScriptu","language":"pl_PL","title":"Gladiatorzy JavaScriptu","url":"http://gladiatorzy.api.localhost-group.com"}}]}},"staticQueryHashes":[]}