{"id":13496389,"url":"https://github.com/epicweb-dev/advanced-react-apis","last_synced_at":"2025-05-13T22:10:01.810Z","repository":{"id":37413142,"uuid":"183267843","full_name":"epicweb-dev/advanced-react-apis","owner":"epicweb-dev","description":"Learn Advanced React Hooks workshop","archived":false,"fork":false,"pushed_at":"2025-05-13T17:09:13.000Z","size":10804,"stargazers_count":2092,"open_issues_count":0,"forks_count":1301,"subscribers_count":26,"default_branch":"main","last_synced_at":"2025-05-13T18:25:44.079Z","etag":null,"topics":["epicreact-dev","epicweb-dev","hooks","kcd-edu","react","workshop"],"latest_commit_sha":null,"homepage":"https://advanced-apis.epicreact.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/epicweb-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-04-24T16:33:31.000Z","updated_at":"2025-05-13T17:09:18.000Z","dependencies_parsed_at":"2024-05-09T00:25:59.413Z","dependency_job_id":"cba43447-a7db-4ed9-8479-9d2244bf0698","html_url":"https://github.com/epicweb-dev/advanced-react-apis","commit_stats":{"total_commits":514,"total_committers":67,"mean_commits":"7.6716417910447765","dds":0.3754863813229572,"last_synced_commit":"97f57b16aadefc1685e15e603f41ff1db3e58c5e"},"previous_names":["epicweb-dev/advanced-react-hooks","epicweb-dev/advanced-react-apis"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicweb-dev%2Fadvanced-react-apis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicweb-dev%2Fadvanced-react-apis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicweb-dev%2Fadvanced-react-apis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epicweb-dev%2Fadvanced-react-apis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/epicweb-dev","download_url":"https://codeload.github.com/epicweb-dev/advanced-react-apis/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254036831,"owners_count":22003654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["epicreact-dev","epicweb-dev","hooks","kcd-edu","react","workshop"],"created_at":"2024-07-31T19:01:47.252Z","updated_at":"2025-05-13T22:09:58.461Z","avatar_url":"https://github.com/epicweb-dev.png","language":"TypeScript","readme":"\u003cdiv\u003e\n  \u003ch1 align=\"center\"\u003e\u003ca href=\"https://www.epicweb.dev/workshops\"\u003e🔥 Advanced React APIs\u003c/a\u003e\u003c/h1\u003e\n  \u003cstrong\u003e\n    Learn the more advanced React APIs and different use cases to enable great\n    user experiences.\n  \u003c/strong\u003e\n  \u003cp\u003e\n    We’ll look at some of the more advanced hooks and APIs and ways they can be used to\n    optimize your components and custom hooks. We'll consider each API with common use cases you'll run into in your applications.\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003chr /\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca\n    alt=\"Epic Web logo with the words Deployed Version\"\n    href=\"https://advanced-apis.epicreact.dev\"\n  \u003e\n    \u003cimg\n      width=\"300px\"\n      src=\"https://github-production-user-asset-6210df.s3.amazonaws.com/1500684/254000390-447a3559-e7b9-4918-947a-1b326d239771.png\"\n    /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003chr /\u003e\n\n\u003c!-- prettier-ignore-start --\u003e\n[![Build Status][build-badge]][build]\n[![GPL 3.0 License][license-badge]][license]\n[![Code of Conduct][coc-badge]][coc]\n\u003c!-- prettier-ignore-end --\u003e\n\n## Prerequisites\n\n- You should be experienced with `useState`, `useEffect`, and `useRef`.\n\n## Pre-workshop Resources\n\nHere are some resources you can read before taking the workshop to get you up to\nspeed on some of the tools and concepts we'll be covering:\n\n- [Should I useState or useReducer?](https://kentcdodds.com/blog/should-i-usestate-or-usereducer)\n- [How to Implement useState with useReducer](https://kentcdodds.com/blog/how-to-implement-usestate-with-usereducer)\n- [useEffect vs useLayoutEffect](https://kentcdodds.com/blog/useeffect-vs-uselayouteffect)\n- [Imperative vs Declarative Programming](https://ui.dev/imperative-vs-declarative-programming)\n\n## System Requirements\n\n- [git][git] v2.18 or greater\n- [NodeJS][node] v20 or greater\n- [npm][npm] v8 or greater\n\nAll of these must be available in your `PATH`. To verify things are set up\nproperly, you can run this:\n\n```shell\ngit --version\nnode --version\nnpm --version\n```\n\nIf you have trouble with any of these, learn more about the PATH environment\nvariable and how to fix it here for [windows][win-path] or\n[mac/linux][mac-path].\n\n## Setup\n\nThis is a pretty large project (it's actually many apps in one) so it can take\nseveral minutes to get everything set up the first time. Please have a strong\nnetwork connection before running the setup and grab a snack.\n\nFollow these steps to get this set up:\n\n```sh nonumber\ngit clone --depth 1 https://github.com/epicweb-dev/advanced-react-apis.git\ncd advanced-react-apis\nnpm run setup\n```\n\nIf you experience errors here, please open [an issue][issue] with as many\ndetails as you can offer.\n\n## Starting the app\n\nOnce you have the setup finished, you can start the app with:\n\n```\nnpm start\n```\n\n## The Workshop App\n\nLearn all about the workshop app on the\n[Epic Web Getting Started Guide](https://www.epicweb.dev/get-started).\n\n[![Kent with the workshop app in the background](https://github-production-user-asset-6210df.s3.amazonaws.com/1500684/280407082-0e012138-e01d-45d5-abf2-86ffe5d03c69.png)](https://www.epicweb.dev/get-started)\n\n\u003c!-- prettier-ignore-start --\u003e\n[npm]: https://www.npmjs.com/\n[node]: https://nodejs.org\n[git]: https://git-scm.com/\n[build-badge]: https://img.shields.io/github/actions/workflow/status/epicweb-dev/advanced-react-apis/validate.yml?branch=main\u0026logo=github\u0026style=flat-square\n[build]: https://github.com/epicweb-dev/advanced-react-apis/actions?query=workflow%3Avalidate\n[license-badge]: https://img.shields.io/badge/license-GPL%203.0%20License-blue.svg?style=flat-square\n[license]: https://github.com/epicweb-dev/advanced-react-apis/blob/main/LICENSE.md\n[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square\n[coc]: https://kentcdodds.com/conduct\n[win-path]: https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/\n[mac-path]: http://stackoverflow.com/a/24322978/971592\n[issue]: https://github.com/epicweb-dev/advanced-react-apis/issues/new\n\u003c!-- prettier-ignore-end --\u003e\n","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepicweb-dev%2Fadvanced-react-apis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepicweb-dev%2Fadvanced-react-apis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepicweb-dev%2Fadvanced-react-apis/lists"}