Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 4aa0975

Browse files
author
z
committed
react curriculum started
1 parent 09906ba commit 4aa0975

File tree

1 file changed

+174
-10
lines changed

1 file changed

+174
-10
lines changed
Lines changed: 174 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,41 @@
1-
### Prerequities
2-
- [Learn Javascript](https://github.com/getify/You-Dont-Know-JS)
3-
- Learn HTML & CSS
4-
### Kick start
5-
- [Official Tutorial](https://reactjs.org/tutorial/tutorial.html)
6-
- [Read the docs!](https://reactjs.org/docs/hello-world.html)
7-
### Basics
1+
# <p align="center">ReactJS</p>
2+
3+
### Preface
4+
5+
An open source javaScript library for building user interfaces by Facebook inc.
6+
7+
### Why ReactJS ?
8+
9+
- **View in MVC** – ReactJS is the view layer in our applications and it does this job really well without trying to achieve anything more.
10+
11+
- **Virtual DOM** – This is probably why most developers are so attracted to React. React manages its own DOM in memory. The most expensive operation most web apps suffer is mutating the DOM. React's approach is to maintain a virtual representation of the DOM which allows it to calculate differences in the DOM so that it only mutates the part of the DOM that actually needs to be updated. This is a huge benefit!
12+
13+
- **Declarative** – Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes.
14+
15+
- **Component-Based** – Build encapsulated components that manage their own state, then compose them to make complex UIs.
16+
17+
- **Server Side Rendering** – Combining a NodeJS server and ReactJS helps us build even more complex applications by pre-rendering the initial state of our ReactJS components.
18+
19+
- **Javascript** – It is JavaScript after all. We can use latest JavaScript goodies by transpiling our code with the tools we prefer like webpack, browserify, rollup, babel etc
20+
21+
- **Non-Opinitated** – It doesnt make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code.
22+
23+
- **Testability** – React components simplify testing greatly. As a proof of it's simplicity, our new web client has more tests than any of our other clients.
24+
25+
- **Functional Programming** – ReactJS stateless components act like pure functions while composition is highly enforced instead of inheritance to reuse code between components.
26+
27+
# Curriculum
28+
- [Prerequisites]()
29+
- []
30+
31+
## Prerequities
32+
Experience with the basic web technologies ie. HTML, CSS & JavaScript will help.
33+
34+
## Basics
835
- ["Hello, World!" with create-react-app](https://reactjs.org/docs/hello-world.html)
936
- [Components & Props](https://reactjs.org/docs/components-and-props.html)
1037
- Popular ES6+ features using in React Apps
11-
- [Arrow Functions](http://babeljs.io/learn-es2015/#ecmascript-2015-features-arrows-and-lexical-this)
38+
[Arrow Functions](http://babeljs.io/learn-es2015/#ecmascript-2015-features-arrows-and-lexical-this)
1239
- [Object Destructuring](http://babeljs.io/learn-es2015/#ecmascript-2015-features-destructuring)
1340
- [Classes](http://babeljs.io/learn-es2015/#ecmascript-2015-features-classes)
1441
- Static fields <!-- What does this mean? -->
@@ -23,17 +50,154 @@
2350
- Accessing DOM Elements from React Components
2451
- [Thinking in React](https://reactjs.org/docs/thinking-in-react.html)
2552
- [Handling Errors](https://reactjs.org/docs/error-boundaries.html)
53+
Imperative vs Declarative
54+
Composition
55+
Unidirectional Dataflow
56+
JSX
57+
Virtual DOM
58+
ES6 Classes
59+
state
60+
props
61+
children
62+
prop-types package
63+
createElement
64+
functional setState
65+
Lifecycle Hooks
66+
Container vs Presentational Components
67+
Stateless Functional Components
68+
Sytnthetic Events
69+
Private Stateless Functional Components
70+
Introduction to React
71+
72+
React.js

73+
What is it?

74+
What problem does it solve?

75+
Development Eco-System

76+
React versus other frameworks
77+
78+
Key React components
79+
80+
Editor and Web Server

81+
Browser Development Tools

82+
Components
83+
Virtual DOM
84+
Dataflow
85+
JSX
86+
87+
Your First React UI
88+
89+
Understanding the components
90+
Building a Hello World Component

91+
92+
JSX

93+
94+
What is JSX?

95+
Using JSX

96+
Using React with JSX

97+
Using React without JSX

98+
Precompiled JSX with Babel

99+
100+
Working with Components

101+
102+
Component Life-Cycle

103+
Properties and State

104+
Virtual DOM

105+
Events

106+
Compositions

107+
Reusable Components

108+
109+
Forms

110+
111+
Controlled Components

112+
Uncontrolled Components

113+
Review of React
114+
115+
What is it?
116+
Key React concepts and components
117+
Building a Hello World UI
118+
119+
React and ES2015

120+
121+
ES2015 features which impact React

122+
How to create components with ES2015

123+
Using Babel for ES2015 and JSX

124+
Using WebPack with React

125+
Using Immutable.js

126+
127+
Advanced React Components

128+
129+
Component Life-Cycle

130+
Virtual DOM

131+
Events

132+
State Machines

133+
Compositions

134+
Communication Between Components

135+
Reusable Components

136+
Cloning Components

137+
138+
Introduction to Flux

139+
140+
Key Flux concepts
141+
Actions
142+
Dispatchers
143+
Stores
144+
Flows
145+
146+
Building your first Flux application
147+
148+
Organizing your in code
 and understanding the mental model
149+
Creating your Hello World
150+
Incorporating AJAX and Web Sockets

151+
152+
Working with Dispatchers

153+
154+
Understand the purpose, and design

155+
Callbacks and the Dispatcher
156+
157+
Stores

158+
159+
Understand the purpose of stores

160+
Associating stores with the dispatcher
161+
162+
Components

163+
164+
How to connect into stores

165+
How to connect into actions

166+
167+
Redux

168+
169+
Explore differences between Redux and normal Flux

170+
Reducer Functions

171+
Working with one store

172+
Advantages and Disadvantages of Redux

173+
174+
Working with the DOM

175+
176+
Referencing DOM Elements

177+
DOM Manipulation

178+
HTML 5 Drag and Drop

179+
180+
Node.js and Server DOM Manipulation

181+
Unit Testing with TestUtils

182+
183+
Unit Testing with Mocha, Chai and Sinon

184+
How to write React Component Unit Tests with Mocha and Chai

185+
How to spy with Sinon

186+
Testing Components

187+
Testing DOM Manipulations

188+
Testing Properties and State

189+
Simulating Events

26190

27191
### Intermediate
28192
- CSS in JS
29193
- [styled-components](https://www.styled-components.com/)
30194
- [glamorous](https://blog.kentcdodds.com/introducing-glamorous-fb3c9f4ed20e)
31195
- [React's Synthetic Event System](https://reactjs.org/docs/error-boundaries.html)
32-
- [React Router](https://reacttraining.com/react-router/core/guides/philosophy)
196+
- [React Router](https://reacttraining.com/react-router/core/guides/philosophy)
33197
- SSR
34198

35199
### Advanced
36-
- Animations
200+
- Animations
37201
- Redux (An entirely different topic altogether)
38202
- Webpack (This might require a different roadmap altogether)
39203
- [React Under The Hood](https://bogdan-lyashenko.github.io/Under-the-hood-ReactJS/)

0 commit comments

Comments
 (0)