- You should have basic knowledge of JavaScript and HTML
- Be able to work with Git
- Join Discord chats https://discord.gg/Uazp6s, category REACT.
- Yuliya Haluza
- Artёm Sinicyn
- Alexey Farbotko
- Ander Rios
- Andre Gloukhmantchouk
For any questions use Discord.
- Overview
- Webpack Config
- Plugins
- Loaders
- Webpack Dev Server
- react app creation from scratch
- webpack configuration
- Lecture (video)
- Slides
- Code Examples
- Webpack screencast
- Articles:
https://github.com/webpack-contrib/eslint-loader#failonerror
https://codeburst.io/react-bake-from-scratch-or-box-javascript-version-smackdown-8a4d31f105d7
https://github.com/rolling-scopes-school/tasks/blob/master/tasks/songbird.md
Form for questions: https://docs.google.com/spreadsheets/d/1CKx6BcS7DgFHPhdaB3IUoaNLUcGDlqHqus3wms5b1V4/edit#gid=0
Hello, world
Introducing JSX
Rendering Elements
Components and Props
State and Lifecycle
Handling Events
Conditional Rendering
Lists and Keys
Form for questions: https://docs.google.com/document/d/1u86RSOAVfrSmiziIB3gXwI9yOw0Xty8QIvNG0GPB7FI/edit?usp=sharing
- What is react?
- Virtual DOM as approach to build fast UI components, Why V-DOM instead of direct DOM manipualtion
- JSX introduction
- the comoponent approach
- stateless, statefull components
- lifecycle hooks (React 16) and how they could be useful
- how to pass data to child components
- state. how to use it, how to change it (how react batches updates, async setState)
- how to handle DOM events
- how to create list, key prop
- conditional rendering
- hello world stateless component (basic syntax, jsx)
- statefull counter component (event handling,
this
binding problem) - users list component (key prop explained)
- TBA
- Lecture (video)
- Slides
- Everything you want and may need to know about React
- Split app on components(examples)
Reconciliation
Typechecking With PropTypes
Refs and the DOM
Context
Higher-Order Components
Portals
Render Props
Form for questions: https://docs.google.com/document/d/1UEm5-YvbDbyk75gvfeFjXS_PhP5cFQNzvztL99RR1_A/edit?usp=sharing
- Quick revison of Lecture #1
- Reconciliation algorithm
- propTypes and why it is important
- refs, uncontrolled components
- new context API
- advanced JSX (hoc, render prop, portal)
- lazy, suspense, memo
- performance optimisations
- todo app development
- add todo, remove todo
- mark todo as completed
- edit todo
- filter todos
- todos statistics (completed counter, uncompleted counter)
- TBA
Introducing Hooks
Hooks at a Glance
Using the State Hook
Using the Effect Hook
Rules of Hooks
Building Your Own Hooks
Form for questions: https://docs.google.com/document/d/1Uz08VF7V33UHGB7-o4AMI-CMzyI1B-IspWwP1msRfco/edit?usp=sharing
- The useState Hook
- useState vs. setState
- Complex State with useState
- The useEffect Hook
- useEffect Dependencies
- Cleaning up Effects
- The Context API & useContext Hook
- TBA
https://github.com/rolling-scopes-school/tasks/blob/master/tasks/datagrid.md
Form for questions: https://docs.google.com/document/d/1KRc6ahRG6UW8CpvJm8OTySNqS9shP2sxSyuVTOD-pJw/edit?usp=sharing
The philosophy of React Router
Form for questions: https://docs.google.com/document/d/1EYVxVrQMSYe7djvljAvcYtxtNvmFF6zL9_Psl85CeEc/edit?usp=sharing
- what is SPA
- React-router
- hash routing
- browser routing
- problems of SPAs
- TBA
- react-router usage
- Lecture (video)
- Slides
- Articles:
The philosophy of React Router
Run the React Router v4 Examples with Create React App
Redux motivation
Redux core concepts
Three Principles
Ecosystem
Form for questions: https://docs.google.com/document/d/1IZpVZTCegi7rmVXcZpp-rE_Z_UZbWjgrT06qszGFBaU/edit?usp=sharing
- the problem with app state managment in react
- the problem with passing props from root component to leaf components
- what is flux architecture
- what is redux
- immutability
- pure functions
- main redux principles (read-only state, reducer, actions)
- middlewares
- redux hooks
- redux implementation
- redux usage
- Lecture (video)
- Slides
- Code Examples
- Articles:
MobX github readme
ReactN github readme
use-global-hook github readme
React Redux hooks documentation
TBA
Form for questions: https://docs.google.com/document/d/12i8sSn5K8qbDjYmOUYWY1kaii_60C4dm6gZ2Bt5RXho/edit?usp=sharing
- serverside rendering as a way to solve the main problems of SPAs
- why serverside rendering isn't silver bullet
- TBA
- ssr implementation (live)
- Lecture (video)
- Slides
- Code Examples
- Articles:
Why you should render React on the server side
ReactDOMServer documentation
Server-Side Rendering with React, Redux, and React-Router
Form for questions: https://docs.google.com/document/d/1yl5g74K3Ohd407PRpG34LoQWGRXl_DSQzbzKmAzHewE/edit?usp=sharing
- Testing react apps
- jest
- enzyme
- TBA