React
Courses
- Scrimba - React Course
- Codevolution
- React Hooks
- Tic Tac Toe using React Hooks
- FrontendMasters Courses
note
NOTE: FrontendMasters provides access to course partially even without a paid account. Most of the courses host the course code and slides publicly on GitHub.
TIP: Course code and slide links are visible in FrontendMasters Mobile app
Ecosystem
- Create React App
- Vite
- React Developer Tools (Browser Extension)
- React Router
- UI Components
- Mantine
- MUI
- Utilities
- Prettier
- Mantine hooks
- Styling
- Tailwind CSS
- Utilities
- prettier-plugin-tailwindcss
- Tailwind CSS line clamp
- Icons
- Tabler Icons React
- Dates
- date-fns
- State Management
- Context API
- Zustand
- API integration (Server state)
- React Query (TanStack Query)
- axios
- graphql-request
- Forms
- ReactHookForm
- Storybook (UI Component Documentation)
- Framer Motion (Animation)
Resources
- YouTube Channels
- Bulletproof React (Architecture Guide)
- React Official Documentation
- Awesome React (Collection of React resources)
- Made With React (React Project showcase & inspiration)
Setup
Developer tools
- VS Code extensions
- ES7 React/Redux/GraphQL/React-Native snippets
- Additional
- Tabnine (auto complete)
- Browser extensions
- React Developer tools
Project Setup
- Install Node: Guide
Vite
- Vite is a frontend build tool
npm init vite
# select react or react-ts template
cd project-name
npm run dev
Create React App
- Use
create-react-app
npx create-react-app example
cd example
npm run start
- VS Code
- ES React Snippets Extension
- type
rfce
for functional component boilerplate snippet
Overview
- intro-to-react GitHub
- Folder Structure
- TypeScript Setup
- Path Alias Setup
- Flow
- Components
- JSX
- Class-based
- Functional
- Props
- State
- Component Communication
- Styling
- Conditional Render
- Lists
- EventHandling
- HTTP
- Services
- LifeCycle Methods
- Forms
- Controlled forms
- React Hook Form
- react-forms GitHub
- Hooks
- Inbuilt
- Custom
- React Router
- Browser Router
- Switch
- Route
- Link
- useHistory()
- useLocation()
- useParams()
- Environment Variables
- Deployment
- UI
- MUI
- State Management
- Zustand
- NextJS