JavaScript + React/Redux ΠΊΡΡΡ
Π ΡΡΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ ΠΎΡΠ²Π΅ΡΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ Π½Π° ΠΊΡΡΡΠ΅. ΠΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π±ΠΈΡΠΎ Π½Π° ΠΏΠ°ΠΏΠΊΠΈ, ΡΡΠΎΠ±Ρ Π²Π°ΠΌ Π±ΡΠ»ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°ΡΡ. ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° - ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ. Π ΠΊΡΡΡΠ΅ ΠΎΡΠ²Π΅ΡΡ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Ρ Π² ΡΠ°ΠΌΠΈΡ ΡΡΠΎΠΊΠ°Ρ Ρ Π·Π°Π΄Π°Π½ΠΈΡΠΌΠΈ, Π»ΠΈΠ±ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΈΡ Π·Π΄Π΅ΡΡ ΠΏΠΎ Π½ΠΎΠΌΠ΅ΡΡ Π·Π°Π΄Π°Π½ΠΈΡ.
ΠΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΡΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΠΏΠΎΠΊ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π½ΠΈΡ :
JavaScript
- JS_step_1 - ΠΡΠ°ΠΊΡΠΈΠΊΠ° Ρ personalmovieDB, ΡΠ°ΡΡΡ 1
- JS_step_2 - ΠΡΠ°ΠΊΡΠΈΠΊΠ° Ρ ΡΠΈΠΊΠ»Π°ΠΌΠΈ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ
- JS_step_3 - Π Π°Π±ΠΎΡΠ° Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ
- JS_step_4 - Π Π°Π±ΠΎΡΠ° Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ
- JS_step_5 - Π Π°Π±ΠΎΡΠ° Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅
- JS_step_6 - ΠΠ°ΠΊΠΎΠ½ΡΠΈΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Π±Π΄ ΡΠΈΠ»ΡΠΌΠΎΠ²
- JS_step_7 - Π‘ΠΎΠ·Π΄Π°Π½Ρ ΡΠ°Π±Ρ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅
- JS_step_8 - Π‘ΠΎΠ·Π΄Π°Π½ ΡΠ°ΠΉΠΌΠ΅Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅
- JS_step_9 - Π‘ΠΎΠ·Π΄Π°Π½ΠΎ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
- JS_step_10 - Π£Π»ΡΡΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°: ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡΠΈ ΡΠΊΡΠΎΠ»Π»Π΅ ΡΡΡΠ°Π½ΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ
- JS_step_11 - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΎΡΠ΅ΠΊ ΠΌΠ΅Π½Ρ
- JS_step_12 - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ REST-ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ
- JS_step_13 - ΠΡΠΏΡΠ°Π²ΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΡΠΎΡΠΌΡ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ XMLHTTPRequest
- JS_step_14 - Π£ΠΊΡΠ°ΡΠ°Π΅ΠΌ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅
- JS_step_15 - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ fetch API Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ²
- JS_step_16 - ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π½Π° ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ async/await
- JS_step_17 - Π‘ΠΎΠ·Π΄Π°Π½ ΠΏΡΠΎΡΡΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ»Π°ΠΉΠ΄Π΅ΡΠ°
- JS_step_18 - Π‘ΠΎΠ·Π΄Π°Π½ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ»Π°ΠΉΠ΄Π΅ΡΠ°-ΠΊΠ°ΡΡΡΠ΅Π»ΠΈ
- JS_step_19 - Π‘ΠΎΠ·Π΄Π°Π½Ρ ΡΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ ΡΠ»Π°ΠΉΠ΄Π΅ΡΠΎΠΌ
- JS_step_20 - ΠΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊ ΡΠ»Π°ΠΉΠ΄Π΅ΡΡ
- JS_step_21 - Π‘ΠΎΠ·Π΄Π°Π½ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅
- JS_step_22 - ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΈ localStorage Π² ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ΅
- JS_step_23 - ΠΡΠΎΠ΅ΠΊΡ ΡΠΎΠ±ΡΠ°Π½ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Webpack + Common.js
- JS_step_24 - ΠΡΠΎΠ΅ΠΊΡ ΡΠΎΠ±ΡΠ°Π½ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Webpack + ES6 Modules
- JS_step_25 - ΠΠΎΡΠΎΠ²Π°Ρ ΡΠ±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠΎΠ²Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡ ΠΊΡΡΡΠ° "ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° React + Redux"
- React_step_1 - ΠΠΎΡΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠ΄ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- React_step_2 - ΠΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
- React_step_3 - ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π°ΡΡΠΈΠ±ΡΡ key Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
- React_step_4 - ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π», ΠΎΡΠΌΠ΅ΡΠ°ΡΡΠΈΠΉ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° Π½Π° ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅
- React_step_5 - ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π² ΡΠΎΡΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°
- React_step_6 - ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ° Π³ΠΎΡΠΎΠ²ΠΎ
- React_step_7 - ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΠΎΠ΄Π½ΡΡΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΈ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΡΠΎΡΠΌΡ
- React_step_8 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠΈΠ»ΡΡΡΡ ΠΈ ΠΏΠΎΠΈΡΠΊ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
- React_step_9 - ΠΠΎΡΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Marvel
- React_step_10 - Π‘ΠΎΠ·Π΄Π°Π½ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ API
- React_step_11 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
- React_step_12 - ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ
- React_step_13 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ CharList, ΠΊΠ½ΠΎΠΏΠΊΠ° Β«try itΒ» ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ
- React_step_14 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ CharInfo
- React_step_15 - Π‘ΠΎΠ·Π΄Π°Π½ ΠΏΡΠ΅Π΄ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅Π»Ρ
- React_step_16 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΊΠ° ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΉ
- React_step_17 - ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ PropTypes
- React_step_18 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²ΡΠ±ΠΎΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΉ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
- React_step_19 - ΠΡΠΏΠΎΠ»Π½Π΅Π½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ Ρ ΡΠΊΠΈ
- React_step_20 - Π‘ΠΎΠ·Π΄Π°Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° comicsList
- React_step_21 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- React_step_22 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° SingleComicPage
- React_step_23 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π»Π΅Π½ΠΈΠ²Π°Ρ ΠΏΠΎΠ΄Π³ΡΡΠ·ΠΊΠ° ΡΡΡΠ°Π½ΠΈΡ
- React_step_24 - ΠΠΎΠ±Π°Π²Π»Π΅Π½ TransitionGroup Π΄Π»Ρ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΉ
- React_step_25 - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΎΡΠΌΠ° ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Π΄Π»Ρ Π½Π΅Π³ΠΎ
- React_step_26 - ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠ°-ΡΡΠ³ΠΈ ΠΈ title Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΡΠ°Π½ΠΈΡΡ
- React_step_27 - ΠΡΠΎΠ΅ΠΊΡ ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°Π½ Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠ°
- React_step_28 - ΠΠ°Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΠΈΠ½ΠΈ-Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ
- React_step_29 - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π²Π΅ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ
- React_step_30 - Π Π°Π·Π΄Π΅Π»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ-ΡΠ΅Π΄ΡΡΡΠ΅ΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ createSelector
- React_step_31 - ΠΡΠΈΠΌΠ΅Π½Π΅Π½ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ store (enhancer)
- React_step_32 - ΠΡΠΈΠΌΠ΅Π½Π΅Π½ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ middleware
- React_step_33 - ΠΡΠΈΠΌΠ΅Π½Π΅Π½ thunk-middleware ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ action creatorβΡ
- React_step_34 - ΠΡΠΈΠΌΠ΅Π½Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ configureStore, createAction ΠΈ createReducer
- React_step_35 - Π‘ΠΎΠ·Π΄Π°Π½Ρ ΡΡΠ΅Π·Ρ Π³Π΅ΡΠΎΠ΅Π² ΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ²
- React_step_36 - Π‘ΠΎΠ·Π΄Π°Π½Ρ ΠΠ‘ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ createAsyncThunk
- React_step_37 - Π‘ΠΎΠ·Π΄Π°Π½Ρ Π°Π΄Π°ΠΏΡΠ΅ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ createEntityAdapter
- React_step_38 - ΠΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ RTK Query Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π³Π΅ΡΠΎΡΠΌΠΈ