{"id":15505645,"url":"https://github.com/imranhsayed/react-workshop","last_synced_at":"2025-07-09T10:38:55.668Z","repository":{"id":50789172,"uuid":"179989227","full_name":"imranhsayed/react-workshop","owner":"imranhsayed","description":":hammer_and_pick:  :construction: This is a workshop for learning how to build React Applications","archived":false,"fork":false,"pushed_at":"2021-05-29T12:13:57.000Z","size":28065,"stargazers_count":169,"open_issues_count":1,"forks_count":81,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-06-03T12:06:30.369Z","etag":null,"topics":["babel","components","context","context-api","forms","higher-order-component","javascript","jsx","live-search","mmenu","props","react","react-components","react-memo","react-workshop","reactjs","refs","state","state-management","webpack"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imranhsayed.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-07T16:00:41.000Z","updated_at":"2025-03-31T13:23:34.000Z","dependencies_parsed_at":"2022-09-24T19:40:21.078Z","dependency_job_id":null,"html_url":"https://github.com/imranhsayed/react-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/imranhsayed/react-workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imranhsayed%2Freact-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imranhsayed%2Freact-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imranhsayed%2Freact-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imranhsayed%2Freact-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imranhsayed","download_url":"https://codeload.github.com/imranhsayed/react-workshop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imranhsayed%2Freact-workshop/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264441548,"owners_count":23608906,"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":["babel","components","context","context-api","forms","higher-order-component","javascript","jsx","live-search","mmenu","props","react","react-components","react-memo","react-workshop","reactjs","refs","state","state-management","webpack"],"created_at":"2024-10-02T09:24:06.254Z","updated_at":"2025-07-09T10:38:55.638Z","avatar_url":"https://github.com/imranhsayed.png","language":null,"readme":"# React Workshop\n\n:fire: This is a workshop for learning how to build React Application\n\n******* PLEASE STAR MY REPO TO SUPPORT MY WORK 🙏 ******\n\nPlease follow me 🙏 on [twitter](https://twitter.com/imranhsayed) and [github](https://github.com/imranhsayed) to stay updated with new content\n\n## :video_camera: [App Demo](https://github.com/imranhsayed/react-workshop/tree/03-react-app-example2)\n![](Handling-forms.gif)\n\n## :video_camera: React Developer Tools (Chrome Extension) Demo\n![](React-Chrome-Extension.gif)\n\n## :video_camera: [Live Search Demo](https://github.com/imranhsayed/react-workshop/tree/live-search-react)\n![](live-search-demo.gif)\n\n## :video_camera: [Mmenu Navigation]()\n![](mmenu.gif)\n\n## Before you Start\nI've branched the repo for individual topics.\n\nTo see all branches run: `git branch --all`.\n\nTo checkout to individual branch run: `git checkout \u003cbranch name\u003e`. Then check its README.md .\n From there on you should be good.\n\n\n## Branch Info\n\n### Day 1:\n1. :snowflake: [01-add-react-in-a-min](https://github.com/imranhsayed/react-workshop/tree/01-add-react-in-a-min) : Create a react app in a minute :clock1: using React Scripts\n2. :rocket: [01-create-react-app](https://github.com/imranhsayed/react-workshop/tree/01-create-react-app) : Create a React application using create-react-app\n3. :package: [01-react-app-parcel](https://github.com/imranhsayed/react-workshop/tree/01-react-app-parcel) : Create a React application using parcel\n4. :gift: [01-react-app-webpack](https://github.com/imranhsayed/react-workshop/tree/01-react-app-webpack) :  Set up React application with using Webpack and Babel\n\n### Day 2:\n5. :tanabata_tree: [02-component-types](https://github.com/imranhsayed/react-workshop/tree/02-component-types) : Types of Components : Class \u0026 Functional Components\n6. :dizzy: [02-jsx-examples](https://github.com/imranhsayed/react-workshop/tree/02-jsx-examples) : Examples of JSX\n7. :snowman: [02-state-and-props](https://github.com/imranhsayed/react-workshop/tree/02-state-and-props) : Examples for Component State and Props\n8. :ear_of_rice: [02-hierarchical-components](https://github.com/imranhsayed/react-workshop/tree/02-hierarchical-components) Demo for Parent \u0026 Child Component, with state and props.\n9. :crossed_flags: [02-handling-routes](https://github.com/imranhsayed/react-workshop/tree/02-handling-routes) Handling routes using @reach/router\n10. :ear_of_rice: [02-get-derived-state-from-props](https://github.com/imranhsayed/react-workshop/tree/02-get-derived-state-from-props) Example for Component Lifecycle method: getDerivedStateFromProps, constructor, forceUpdate\n\n11. :clipboard: [02-handling-forms](https://github.com/imranhsayed/react-workshop/tree/02-handle-forms) Handling forms in react\n\n### Day 3:\n12. :package: [03-react-application-example](https://github.com/imranhsayed/react-workshop/tree/03-react-application-example) Example for creating React Application with Header Footer Navbar, Display Posts by fetching data from \n13. :snowman: [03-react-app-example2](https://github.com/imranhsayed/react-workshop/tree/03-react-app-example2) Example for Adding New posts using when the form is submitted.                                                                                                                        and api and Handling forms\n14. :dizzy: [03-active-links](https://github.com/imranhsayed/react-workshop/tree/03-active-links) Example for [Active links](https://reach.tech/router/example/active-links) using Reach router.\n                                                                                                                              \n15. :evergreen_tree: [03-higher-order-component](https://github.com/imranhsayed/react-workshop/tree/03-higher-order-component) Higher Order Component Example \n16. :sweat_drops: [03-pure-component](https://github.com/imranhsayed/react-workshop/tree/03-pure-components) Pure Components Example\n17. :memo: [03-react-memo](https://github.com/imranhsayed/react-workshop/tree/03-react-memo) React memo example\n18. :arrow_right: [03-refs](https://github.com/imranhsayed/react-workshop/tree/03-refs) React's Refs example\n19. :palm_tree: [03-context](https://github.com/imranhsayed/react-workshop/tree/03-context) React Context example\n\n### React Hooks\n20. :arrow_right: [react-hooks](https://github.com/imranhsayed/react-hooks) React Hooks\n\n### Miscellaneous:\n21. :mag_right: [live-search-react](https://github.com/imranhsayed/react-workshop/tree/live-search-react) Realtime search on typing using react and axios. Includes pagination( Onchange Input ).\n22. :iphone: [mmenu-react-app](https://github.com/imranhsayed/react-workshop/tree/mmenu-react-app) Mobile menu Sidebar using Burger Menu\n\n## Installation\n\n1. Clone this repo in `git clone https://github.com/imranhsayed/react-workshop`\n2. `cd react-workshop`\n3. `git checkout branch-name`\n4. `npm install`\n\nYou can see the branches and their details listed above.\n\n## Instructions\n\nPlease follow the README for individual repositories\n\n## Common Commands\n\n- `dev` Runs webpack dev server for development ( in watch mode )\n- `prod` Runs webpack in production mode\n\n## Workshop Gallery :sunrise_over_mountains:\n1. [Pictures](https://twitter.com/imranhsayed/status/1125435733106237441)\n2. [MeetUp](https://www.meetup.com/PuneJS/events/260908693/)\n\n## Tutorial Videos :movie_camera:\n1. [React Tutorial Series](https://youtu.be/M-Aw4p0pWwg)\n2. [React Hooks Series](https://youtu.be/2p0N29Hn-Vk)\n\n## FAQs\n\n1. How to pass a parameter in a event handler?\n\n```ruby\nconst handleRemoveProductClick = ( event, productId ) =\u003e {\n        console.warn( 'Clicked productId', productId );\n    };\nreturn(\n    \u003cbutton onClick={ ( event ) =\u003e handleRemoveProductClick( event, item.productId )  }\u003eItem\u003c/button\u003e\n)\n```\n\n## Useful Blogs\n\n1. [SetUp React App with Webpack and Babel](https://codeytek.com/set-up-react-app-with-webpack-and-babel-react-babel-webpack-install-node-application/)\n\n## Social Links\n\n1. [Twitter](https://twitter.com/imranhsayed)\n\n## License\n\n[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)\n\n- **[MIT license](http://opensource.org/licenses/mit-license.php)**\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimranhsayed%2Freact-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimranhsayed%2Freact-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimranhsayed%2Freact-workshop/lists"}