-
Notifications
You must be signed in to change notification settings - Fork 83
/
README.md~
114 lines (77 loc) · 5.85 KB
/
README.md~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# React Workshop
:fire: This is a workshop for learning how to build React Application.
## :video_camera: [App Demo](https://github.com/imranhsayed/react-workshop/tree/03-react-app-example2)
![](Handling-forms.gif)
## :video_camera: React Developer Tools (Chrome Extension) Demo
![](React-Chrome-Extension.gif)
## :video_camera: [Live Search Demo](https://github.com/imranhsayed/react-workshop/tree/live-search-react)
![](live-search-demo.gif)
## :video_camera: [Mmenu Navigation]()
![](mmenu.gif)
## Before you Start
I've branched the repo for individual topics.
To see all branches run: `git branch --all`.
To checkout to individual branch run: `git checkout <branch name>`. Then check its README.md .
From there on you should be good.
## Branch Info
### Day 1:
1. :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
2. :rocket: [01-create-react-app](https://github.com/imranhsayed/react-workshop/tree/01-create-react-app) : Create a React application using create-react-app
3. :package: [01-react-app-parcel](https://github.com/imranhsayed/react-workshop/tree/01-react-app-parcel) : Create a React application using parcel
4. :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
### Day 2:
5. :tanabata_tree: [02-component-types](https://github.com/imranhsayed/react-workshop/tree/02-component-types) : Types of Components : Class & Functional Components
6. :dizzy: [02-jsx-examples](https://github.com/imranhsayed/react-workshop/tree/02-jsx-examples) : Examples of JSX
7. :snowman: [02-state-and-props](https://github.com/imranhsayed/react-workshop/tree/02-state-and-props) : Examples for Component State and Props
8. :ear_of_rice: [02-hierarchical-components](https://github.com/imranhsayed/react-workshop/tree/02-hierarchical-components) Demo for Parent & Child Component, with state and props.
9. :crossed_flags: [02-handling-routes](https://github.com/imranhsayed/react-workshop/tree/02-handling-routes) Handling routes using @reach/router
10. :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
11. :clipboard: [02-handling-forms](https://github.com/imranhsayed/react-workshop/tree/02-handle-forms) Handling forms in react
### Day 3:
12. :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
13. :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
14. :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.
15. :evergreen_tree: [03-higher-order-component](https://github.com/imranhsayed/react-workshop/tree/03-higher-order-component) Higher Order Component Example
16. :sweat_drops: [03-pure-component](https://github.com/imranhsayed/react-workshop/tree/03-pure-components) Pure Components Example
17. :memo: [03-react-memo](https://github.com/imranhsayed/react-workshop/tree/03-react-memo) React memo example
18. :arrow_right: [03-refs](https://github.com/imranhsayed/react-workshop/tree/03-refs) React's Refs example
19. :palm_tree: [03-context](https://github.com/imranhsayed/react-workshop/tree/03-context) React Context example
### React Hooks
20. :arrow_right: [react-hooks](https://github.com/imranhsayed/react-hooks) React Hooks
### Miscellaneous:
21. :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 ).
22. :iphone: [mmenu-react-app](https://github.com/imranhsayed/react-workshop/tree/mmenu-react-app) Mobile menu Sidebar using Burger Menu
## Installation
1. Clone this repo in `git clone https://github.com/imranhsayed/react-workshop`
2. `cd react-workshop`
3. `git checkout branch-name`
4. `npm install`
You can see the branches and their details listed above.
## Instructions
Please follow the README for individual repositories
## Common Commands
- `dev` Runs webpack dev server for development ( in watch mode )
- `prod` Runs webpack in production mode
## Workshop Gallery :sunrise_over_mountains:
1. [Pictures](https://twitter.com/imranhsayed/status/1125435733106237441)
2. [MeetUp](https://www.meetup.com/PuneJS/events/260908693/)
## Tutorial Videos :movie_camera:
1. [React Tutorial Series](https://youtu.be/M-Aw4p0pWwg)
2. [React Hooks Series](https://youtu.be/2p0N29Hn-Vk)
## FAQs
1. How to pass a parameter in a event handler?
```ruby
const handleRemoveProductClick = ( event, productId ) => {
console.warn( 'Clicked productId', productId );
};
return(
<button onClick={ ( event ) => handleRemoveProductClick( event, item.productId ) }>Item</button>
)
```
## Useful Blogs
1. [SetUp React App with Webpack and Babel](https://codeytek.com/set-up-react-app-with-webpack-and-babel-react-babel-webpack-install-node-application/)
## Social Links
1. [Twitter](https://twitter.com/imranhsayed)
## License
[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)
- **[MIT license](http://opensource.org/licenses/mit-license.php)**