Basics of JS
History of JavaScript
What is ES6
Block scope, let & const
Template literals
Arrow functions
Spread and Rest operators
object literal improvements
Classes
Inheritance
Static properties and methods
Promises
Iterators and Iterables
Generators
Modules
Set and Map
ReactJS
What is React?
Templating using JSX
Working with React Create Element, Expressions, Using logical operators, Specifying attributes, Specifying children
Components
Significance of component architecture
Types of components
Functional
Class based
Pure
Component Composition
State and props
What is state and it significance
Read state and set state
Passing data to component using props
Validating props using propTypes
Supplying default values to props using defaultProps
Rendering lists
Using React key prop
Using map function to iterate on arrays to generate elements
Event Handling in React
Understanding React event system
Understanding Synthetic event
Passing arguments to event handlers
Working with forms
Controlled components
Uncontrolled components
Understand the significance to defaultValue prop
Using react ref prop to get access to DOM element
Routing with react router
Setting up react router
Understand routing in single page applications
Working with BrowserRouter and HashRouter components
Configuring route with Route component
Using Switch component to define routing rules
Making routes dynamic using route params
Working with nested routes
Navigating to pages using Link and NavLink component
Redirect routes using RedirectComponent
Using Prompt component to get consent of user for navigation
Path less Route to handle failed matches
Just Redux
What is redux
Why redux
Redux principles
Install and setup redux
Creating actions, reducer and store
Immutable.js for immutable datastructures
What is Immutable.js?
Immutable collections
Lists
Maps
Sets
React Redux
What is React Redux
Why React Redux
Install and setup
Presentational vs Container components
Understand high order component
Understanding map State To Props and map Dispatcht To Props usage
Unit testing in react
Understand the significance of unit testing
Understand unit testing jargon and tools
Unit testing react components with Jest
Unit testing react components with enzyme
Webpack primer
What is webpack
Why webpack
Install and setup webpack
Working with webpack configuration file
Working with loaders
Quick word on code splitting, lazy loading, tree shaking
Setting up Hot Module Replacement
Server-side rendering with React
What is server-side rendering (SSR)?
Why SSR
Working with render To String and render To Static Mark up methods