{"id":13725582,"url":"https://github.com/kentcdodds/react-performance","last_synced_at":"2025-04-22T21:27:45.422Z","repository":{"id":232378781,"uuid":"758235801","full_name":"kentcdodds/react-performance","owner":"kentcdodds","description":"React is fast, until it isn't","archived":false,"fork":false,"pushed_at":"2024-09-30T16:53:34.000Z","size":3730,"stargazers_count":62,"open_issues_count":1,"forks_count":38,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T19:01:29.013Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.epicreact.dev/modules/react-performance-v1/react-performance-welcome","language":"JavaScript","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/kentcdodds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2024-02-15T22:16:42.000Z","updated_at":"2025-03-28T23:00:05.000Z","dependencies_parsed_at":"2024-12-17T18:11:50.671Z","dependency_job_id":"043b8bd4-aed7-4ad9-b488-bacb63bb454f","html_url":"https://github.com/kentcdodds/react-performance","commit_stats":null,"previous_names":["kentcdodds/react-performance"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentcdodds%2Freact-performance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentcdodds%2Freact-performance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentcdodds%2Freact-performance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kentcdodds%2Freact-performance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kentcdodds","download_url":"https://codeload.github.com/kentcdodds/react-performance/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250327250,"owners_count":21412392,"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":[],"created_at":"2024-08-03T01:02:28.139Z","updated_at":"2025-04-22T21:27:45.404Z","avatar_url":"https://github.com/kentcdodds.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cdiv\u003e\n  \u003ch1 align=\"center\"\u003e\u003ca href=\"https://epicreact.dev/performance\"\u003e⚡ React Performance 🚀 EpicReact.Dev\u003c/a\u003e\u003c/h1\u003e\n  \u003cstrong\u003e\n    React is fast, until it isn't\n  \u003c/strong\u003e\n  \u003cp\u003e\n    Learn everything you need to diagnose, profile, and fix performance problems\n    in your React application using the Browser Performance Profiler,\n    React DevTools Profiler, and proven React optimization techniques.\n  \u003c/p\u003e\n\n  \u003ca href=\"https://epicreact.dev\"\u003e\n    \u003cimg\n      alt=\"Learn React from Start to Finish\"\n      src=\"https://kentcdodds.com/images/epicreact-promo/er-1.gif\"\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[![All Contributors][all-contributors-badge]](#contributors)\n[![GPL 3.0 License][license-badge]][license]\n[![Code of Conduct][coc-badge]][coc]\n[![Gitpod ready-to-code][gitpod-badge]](https://gitpod.io/#https://github.com/kentcdodds/react-performance)\n\u003c!-- prettier-ignore-end --\u003e\n\n## Prerequisites\n\n- Install the React DevTools\n  ([Chrome](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en)\n  (recommended),\n  [Firefox](https://addons.mozilla.org/en-US/firefox/addon/react-devtools/))\n- Experience with React and all hooks\n\n\u003e NOTE: The EpicReact.dev videos were recorded with React version ^16.13 and all\n\u003e material in this repo has been updated to React version ^18. Differences are\n\u003e minor and any relevant differences are noted in the instructions.\n\n## Quick start\n\nIt's recommended you run everything in the same environment you work in every\nday, but if you don't want to set up the repository locally, you can get started\nin one click with [Gitpod](https://gitpod.io),\n[CodeSandbox](https://codesandbox.io/s/github/kentcdodds/react-performance), or\nby following the [video demo](https://www.youtube.com/watch?v=gCoVJm3hGk4)\ninstructions for [GitHub Codespaces](https://github.com/features/codespaces).\n\n[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/kentcdodds/react-performance)\n\nFor a local development environment, follow the instructions below\n\n## System Requirements\n\n- [git][git] v2.13 or greater\n- [NodeJS][node] `\u003e=16`\n- [npm][npm] v8.16.0 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\n\u003e If you want to commit and push your work as you go, you'll want to\n\u003e [fork](https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/fork-a-repo)\n\u003e first and then clone your fork rather than this repo directly.\n\nAfter you've made sure to have the correct things (and versions) installed, you\nshould be able to just run a few commands to get set up:\n\n```shell\ngit clone https://github.com/kentcdodds/react-performance.git\ncd react-performance\nnode setup\n```\n\nThis may take a few minutes. **It will ask you for your email.** This is\noptional and just automatically adds your email to the links in the project to\nmake filling out some forms easier.\n\nIf you get any errors, please read through them and see if you can find out what\nthe problem is. If you can't work it out on your own then please [file an\nissue][issue] and provide _all_ the output from the commands you ran (even if\nit's a lot).\n\nIf you can't get the setup script to work, then just make sure you have the\nright versions of the requirements listed above, and run the following commands:\n\n```shell\nnpm install\nnpm run validate\n```\n\nIf you are still unable to fix issues and you know how to use Docker 🐳 you can\nsetup the project with the following command:\n\n```shell\ndocker-compose up\n```\n\n## Running the app\n\nTo get the app up and running (and really see if it worked), run:\n\n```shell\nnpm start\n```\n\nThis should start up your browser. If you're familiar, this is a standard\n[react-scripts](https://create-react-app.dev/) application.\n\nYou can also open\n[the deployment of the app on Netlify](https://react-performance.netlify.app/).\n\n## Running the tests\n\n```shell\nnpm test\n```\n\nThis will start [Jest](https://jestjs.io/) in watch mode. Read the output and\nplay around with it. The tests are there to help you reach the final version,\nhowever _sometimes_ you can accomplish the task and the tests still fail if you\nimplement things differently than I do in my solution, so don't look to them as\na complete authority.\n\n### Exercises\n\n- `src/exercise/00.md`: Background, Exercise Instructions, Extra Credit\n- `src/exercise/00.js`: Exercise with Emoji helpers\n- `src/__tests__/00.js`: Tests\n- `src/final/00.js`: Final version\n- `src/final/00.extra-0.js`: Final version of extra credit\n\nThe purpose of the exercise is **not** for you to work through all the material.\nIt's intended to get your brain thinking about the right questions to ask me as\n_I_ walk through the material.\n\n### Helpful Emoji 🐨 💰 💯 📝 🦉 📜 💣 💪 🏁 👨‍💼 🚨\n\nEach exercise has comments in it to help you get through the exercise. These fun\nemoji characters are here to help you.\n\n- **Kody the Koala** 🐨 will tell you when there's something specific you should\n  do\n- **Marty the Money Bag** 💰 will give you specific tips (and sometimes code)\n  along the way\n- **Hannah the Hundred** 💯 will give you extra challenges you can do if you\n  finish the exercises early.\n- **Nancy the Notepad** 📝 will encourage you to take notes on what you're\n  learning\n- **Olivia the Owl** 🦉 will give you useful tidbits/best practice notes and a\n  link for elaboration and feedback.\n- **Dominic the Document** 📜 will give you links to useful documentation\n- **Berry the Bomb** 💣 will be hanging around anywhere you need to blow stuff\n  up (delete code)\n- **Matthew the Muscle** 💪 will indicate that you're working with an exercise\n- **Chuck the Checkered Flag** 🏁 will indicate that you're working with a final\n- **Peter the Product Manager** 👨‍💼 helps us know what our users want\n- **Alfred the Alert** 🚨 will occasionally show up in the test failures with\n  potential explanations for why the tests are failing.\n\n## Contributors\n\nThanks goes to these wonderful people\n([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://kentcdodds.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1500684?v=3?s=100\" width=\"100px;\" alt=\"Kent C. Dodds\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKent C. Dodds\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=kentcdodds\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=kentcdodds\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#infra-kentcdodds\" title=\"Infrastructure (Hosting, Build-Tools, etc)\"\u003e🚇\u003c/a\u003e \u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=kentcdodds\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://stackshare.io/jdorfman/decisions\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/398230?v=4?s=100\" width=\"100px;\" alt=\"Justin Dorfman\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJustin Dorfman\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#fundingFinding-jdorfman\" title=\"Funding Finding\"\u003e🔍\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://bol.vin\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1684826?v=4?s=100\" width=\"100px;\" alt=\"Frédéric Bolvin\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFrédéric Bolvin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=Fensterbank\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://vojta.io\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/25487857?v=4?s=100\" width=\"100px;\" alt=\"Vojta Holik\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVojta Holik\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=vojtaholik\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#design-vojtaholik\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/marcosvega91\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/5365582?v=4?s=100\" width=\"100px;\" alt=\"Marco Moretti\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarco Moretti\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=marcosvega91\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://ricardobusquet.com\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/7198302?v=4?s=100\" width=\"100px;\" alt=\"Ricardo Busquet\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRicardo Busquet\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=rbusquet\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/nywleswoey\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/28249994?v=4?s=100\" width=\"100px;\" alt=\"Selwyn Yeow\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSelwyn Yeow\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=nywleswoey\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/emzoumpo\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/2103443?v=4?s=100\" width=\"100px;\" alt=\"Emmanouil Zoumpoulakis\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEmmanouil Zoumpoulakis\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=emzoumpo\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://peter.hozak.info/\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/1087670?v=4?s=100\" width=\"100px;\" alt=\"Peter Hozák\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePeter Hozák\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=Aprillion\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/pritamsangani/\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/22857896?v=4?s=100\" width=\"100px;\" alt=\"Pritam Sangani\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePritam Sangani\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=PritamSangani\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/milamer\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/12884134?v=4?s=100\" width=\"100px;\" alt=\"Christian Schurr\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChristian Schurr\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=milamer\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=milamer\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://magrippis.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/3502800?v=4?s=100\" width=\"100px;\" alt=\"Johnny Magrippis\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJohnny Magrippis\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=jmagrippis\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/AhmedAymanM\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/535126?v=4?s=100\" width=\"100px;\" alt=\"Ahmed\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAhmed\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=AhmedAymanM\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=AhmedAymanM\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/RobbertWolfs\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/12511178?v=4?s=100\" width=\"100px;\" alt=\"Robbert Wolfs\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRobbert Wolfs\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=RobbertWolfs\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.gwanduke.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/7443435?v=4?s=100\" width=\"100px;\" alt=\"Kim Gwan-duk\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKim Gwan-duk\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=gwanduke\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://rasmusjosefsson.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/13612444?v=4?s=100\" width=\"100px;\" alt=\"Rasmus Josefsson\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eRasmus Josefsson\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=rajjejosefsson\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/MarcosNASA\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/45607262?v=4?s=100\" width=\"100px;\" alt=\"Marcos NASA G\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarcos NASA G\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=MarcosNASA\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Snaptags\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/1249745?v=4?s=100\" width=\"100px;\" alt=\"Markus Lasermann\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMarkus Lasermann\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=Snaptags\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://vk.com/vasilii_kovalev\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/10310491?v=4?s=100\" width=\"100px;\" alt=\"Vasilii Kovalev\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVasilii Kovalev\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=vasilii-kovalev\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/matchai\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/4658208?v=4?s=100\" width=\"100px;\" alt=\"Matan Kushner\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMatan Kushner\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=matchai\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://michaeldeboey.be\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/6643991?v=4?s=100\" width=\"100px;\" alt=\"Michaël De Boey\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMichaël De Boey\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=MichaelDeBoey\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.veljkoblagojevic.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/28904821?v=4?s=100\" width=\"100px;\" alt=\"Veljko Blagojevic\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eVeljko Blagojevic\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=Wekios\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://bobbywarner.com\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/554961?v=4?s=100\" width=\"100px;\" alt=\"Bobby Warner\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eBobby Warner\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=bobbywarner\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://angular-tips.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/1087957?v=4?s=100\" width=\"100px;\" alt=\"Jesús Rodríguez\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJesús Rodríguez\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=Foxandxss\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://valentin-hervieu.fr\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/2678610?v=4?s=100\" width=\"100px;\" alt=\"Valentin Hervieu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eValentin Hervieu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/issues?q=author%3AValentinH\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://davsanchez.com\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/2999604?v=4?s=100\" width=\"100px;\" alt=\"David Sánchez\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDavid Sánchez\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=d4vsanchez\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://merott.com\"\u003e\u003cimg src=\"https://avatars3.githubusercontent.com/u/1757708?v=4?s=100\" width=\"100px;\" alt=\"Merott Movahedi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMerott Movahedi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=Merott\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.arjenbloemsma.nl\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/8061052?v=4?s=100\" width=\"100px;\" alt=\"Arjen Bloemsma\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eArjen Bloemsma\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=arjenbloemsma\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://www.linkedin.com/in/syed-naveed-elahi/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/19769879?v=4?s=100\" width=\"100px;\" alt=\"Naveed Elahi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNaveed Elahi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=BboyStatix\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://tknappe.com/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/138048?v=4?s=100\" width=\"100px;\" alt=\"Tyler Knappe\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eTyler Knappe\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=knappe\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/0xnoob\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/49793844?v=4?s=100\" width=\"100px;\" alt=\"0xnoob\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003e0xnoob\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=0xnoob\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=0xnoob\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://emildev.netlify.app/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/10499067?v=4?s=100\" width=\"100px;\" alt=\"Emil Esplund\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eEmil Esplund\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=esplito\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://swiftwithjustin.co\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5117473?v=4?s=100\" width=\"100px;\" alt=\"Justin Stanley\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJustin Stanley\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=jstheoriginal\" title=\"Tests\"\u003e⚠️\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://pavlos.dev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/100233?v=4?s=100\" width=\"100px;\" alt=\"Pavlos Vinieratos\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePavlos Vinieratos\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=pvinis\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Reignable\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/18505669?v=4?s=100\" width=\"100px;\" alt=\"Joe Barrett\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJoe Barrett\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=Reignable\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/LochMess\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/18762221?v=4?s=100\" width=\"100px;\" alt=\"LochMess\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLochMess\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=LochMess\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://codewars.com/users/mstosio\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/10117225?v=4?s=100\" width=\"100px;\" alt=\"Michal\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMichal\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=mstosio\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/marioleed\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/1763448?v=4?s=100\" width=\"100px;\" alt=\"Mario Sannum\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMario Sannum\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=marioleed\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/CJThornburg\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/59716885?v=4?s=100\" width=\"100px;\" alt=\"CJThornburg\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCJThornburg\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=CJThornburg\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://www.lucianoayres.com.br\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/20209393?v=4?s=100\" width=\"100px;\" alt=\"Luciano Ayres\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLuciano Ayres\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=lucianoayres\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/skgyan\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/5046860?v=4?s=100\" width=\"100px;\" alt=\"Sushil Kumar\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSushil Kumar\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=skgyan\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://unravelweb.dev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/26349046?v=4?s=100\" width=\"100px;\" alt=\"Nishu Goel\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNishu Goel\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=NishuGoel\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://creador.dev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/40248406?v=4?s=100\" width=\"100px;\" alt=\"Pawan Kumar\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePawan Kumar\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=creador-dev\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/xhocopuff\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/62633485?v=4?s=100\" width=\"100px;\" alt=\"Melesia Thompson\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMelesia Thompson\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/kentcdodds/react-performance/commits?author=xhocopuff\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the\n[all-contributors](https://github.com/kentcdodds/all-contributors)\nspecification. Contributions of any kind welcome!\n\n## Workshop Feedback\n\nEach exercise has an Elaboration and Feedback link. Please fill that out after\nthe exercise and instruction.\n\nAt the end of the workshop, please go to this URL to give overall feedback.\nThank you! https://kcd.im/rp-ws-feedback\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/kentcdodds/react-performance/validate.yml?branch=main\u0026logo=github\u0026style=flat-square\n[build]: https://github.com/kentcdodds/react-performance/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/kentcdodds/react-performance/blob/main/LICENSE\n[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square\n[gitpod-badge]: https://img.shields.io/badge/Gitpod-ready--to--code-908a85?logo=gitpod\n[coc]: https://github.com/kentcdodds/react-performance/blob/main/CODE_OF_CONDUCT.md\n[emojis]: https://github.com/kentcdodds/all-contributors#emoji-key\n[all-contributors]: https://github.com/kentcdodds/all-contributors\n[all-contributors-badge]: https://img.shields.io/github/all-contributors/kentcdodds/react-performance?color=orange\u0026style=flat-square\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/kentcdodds/react-performance/issues/new\n\u003c!-- prettier-ignore-end --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkentcdodds%2Freact-performance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkentcdodds%2Freact-performance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkentcdodds%2Freact-performance/lists"}