Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shopot/react-101
Introduction to React.js for RS School students and beyond
https://github.com/shopot/react-101
mobx react redux rsschool typescript vite vitest zustand
Last synced: about 16 hours ago
JSON representation
Introduction to React.js for RS School students and beyond
- Host: GitHub
- URL: https://github.com/shopot/react-101
- Owner: shopot
- License: mit
- Created: 2023-09-03T09:03:10.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-12T08:54:42.000Z (14 days ago)
- Last Synced: 2024-12-12T09:20:56.993Z (14 days ago)
- Topics: mobx, react, redux, rsschool, typescript, vite, vitest, zustand
- Language: TypeScript
- Homepage:
- Size: 7.71 MB
- Stars: 61
- Watchers: 1
- Forks: 23
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π React.js introducing
Π£ΡΠ΅Π±Π½ΠΎΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ½ΡΠΏΠ΅ΠΊΡΠ° Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΊΡΡΡΠ° [RS School React Course](https://rs.school/react).
Π Π°Π·Π΄Π΅Π»Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ, Π²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π°Ρ README.md Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° JavaScript, ΡΠ°ΠΌ Π³Π΄Π΅
Π΅ΡΡΡ ΡΡΠΎΡΠ½Π΅Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ TypeScript ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ.ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π² ΡΠ°Π·Π΄Π΅Π»Π°Ρ Π½Π°ΠΏΠΈΡΠ°Π½Ρ
Π½Π° [TypeScript](https://www.typescriptlang.org/) + [Tailwind CSS](https://tailwindcss.com/).* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ JSX](https://github.com/shopot/react-101/tree/jsx)
* [ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²](https://github.com/shopot/react-101/tree/react-render)
* [ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ - ΠΎΠ΄Π½Π° ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ React](https://github.com/shopot/react-101/tree/components)
* [Π£ΡΠ»ΠΎΠ²Π½ΡΠΉ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³](https://github.com/shopot/react-101/tree/conditional-rendering)
* [ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ](https://github.com/shopot/react-101/tree/event-handling)
* [Π‘ΠΏΠΈΡΠΊΠΈ ΠΈ ΠΊΠ»ΡΡΠΈ - React Key Concepts](https://github.com/shopot/react-101/tree/rendering-lists)
* [Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅: ΠΏΠ°ΠΌΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ useState](https://github.com/shopot/react-101/tree/hook-use-state)
* [ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΈΠ»Π΅ΠΉ CSS - ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ](https://github.com/shopot/react-101/tree/react-styling)
* [React DOM ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ - ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΎΡΠΌ](https://github.com/shopot/react-101/tree/form-components)
* [Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ](https://github.com/shopot/react-101/tree/sharing-state)
* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Ρ ΡΠΊΠΎΠΌ useEffect](https://github.com/shopot/react-101/tree/hook-use-effect)
* [Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ React Quiz App - ΠΡΡΠ»ΠΈΠΌ ΠΊΠ°ΠΊ React](https://github.com/shopot/react-101/tree/react-quiz-app)
* [ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ - Fetching data](https://github.com/shopot/react-101/tree/fetching-data)
* [ΠΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ Π² SPA - React Routing](https://github.com/shopot/react-101/tree/react-routing)
* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Ρ ΡΠΊΠΎΠΌ useReducer](https://github.com/shopot/react-101/tree/hook-use-reducer)
* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Ρ ΡΠΊΠΎΠΌ useRef](https://github.com/shopot/react-101/tree/hook-use-ref)
* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Ρ ΡΠΊΠΎΠΌ useContext](https://github.com/shopot/react-101/tree/hook-use-context)
* [Π Π°Π±ΠΎΡΠ° Ρ ΡΠΎΡΠΌΠ°ΠΌΠΈ - ΠΎΠ±Π·ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ React Hook Form](https://github.com/shopot/react-101/tree/react-hook-form)
* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ React API: createPortal](https://github.com/shopot/react-101/tree/react-create-portal)
* [ΠΡΡΠ΅Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΏΠΎ Flux Π² ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°Ρ ](https://github.com/shopot/react-101/tree/react-flux)
* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Redux](https://github.com/shopot/react-101/tree/redux-base)
* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Redux Toolkit (RTK)](https://github.com/shopot/react-101/tree/redux-toolkit-quick)
* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ RTK Query](https://github.com/shopot/react-101/tree/rtk-query)
* [ΠΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π² Redux Toolkit 2.0](https://github.com/shopot/react-101/tree/redux-tollkit-2)
* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ MobX](https://github.com/shopot/react-101/tree/mobx)
* [ΠΠ½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ Zustand](https://github.com/shopot/react-101/blob/zustand/README.md)ΠΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π΄Π΅ΠΏΠ»ΠΎΠΉ):
- π [ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Todo App](https://todo-app-ab1e50.netlify.app)
- [form-components](https://github.com/shopot/react-101/tree/form-components)
- [hook-use-reducer](https://github.com/shopot/react-101/tree/hook-use-reducer)
- [hook-use-context](https://github.com/shopot/react-101/tree/hook-use-context)
- π [ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ React Roadmap (Accordion)](https://react-roadmap-ab1e50.netlify.app)
- [sharing-state](https://github.com/shopot/react-101/tree/chapter-10)
- π [ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ useEffect](https://react-use-effect-ab1e50.netlify.app)
- [hook-use-effect](https://github.com/shopot/react-101/tree/hook-use-effect)
- π [ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ React Quiz App](https://quiz-app-ab1e50.netlify.app)
- [react-quiz-app](https://github.com/shopot/react-101/tree/react-quiz-app)
- π [ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Fetching Data](https://fetch-data-ab1e50.netlify.app)
- [fetching-data](https://github.com/shopot/react-101/tree/fetching-data)
- π [ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ React Router](https://react-router-ab1e50.netlify.app)
- [react-routing](https://github.com/shopot/react-101/tree/react-routing)
- π [ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ useRef](https://react-useref-ab1e50.netlify.app)
- [hook-use-ref](https://github.com/shopot/react-101/tree/hook-use-ref)
- π [ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ React Hook Form](https://react-hook-form-ab1e50.netlify.app)
- [react-hook-form](https://github.com/shopot/react-101/tree/react-hook-form)Information
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄Π° ΠΊΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
```shell
git clone https://github.com/shopot/react-101.git
cd react-101
```ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ redux-base)
```shell
git checkout redux-base
```Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
```shell
npm install
```ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ dev-ΡΠ΅ΡΠ²Π΅Ρ
```shell
npm run dev
```## π React Testing
* [ΠΡΠ½ΠΎΠ²Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ](https://github.com/shopot/react-101/tree/react-testing-01)
* [Vitest: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ Π±Π°Π·ΠΎΠ²Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°](https://github.com/shopot/react-101/tree/react-testing-02)
* [ΠΠ±Π·ΠΎΡ React Testing Library](https://github.com/shopot/react-101/tree/react-testing-03)
* [ΠΠ±Π·ΠΎΡ Mock Service Worker (MSW)](https://github.com/shopot/react-101/tree/react-testing-msw)## π React ΠΈ TypeScript
* [ΠΠΎΠ½ΡΠΏΠ΅ΠΊΡ ΠΏΠΎ TypeScript](https://github.com/shopot/react-101/blob/ts-notes/README.md)
* [React TypeScript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/basic_type_example)## π ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΈ ΠΏΠ°ΡΡΠ΅ΡΠ½Ρ
> Coming soon...
## ποΈ ΠΠΎΠ»Π΅Π·Π½ΠΎΡΡΠΈ
- π [Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΊΠΎΠΌΠΌΠΈΡΠ°Ρ (conventionalcommits.org)](https://www.conventionalcommits.org/ru/v1.0.0/)