React: Practical Notes for Software Development Students
From JSX to Hooks & Deployment
Page 1
Table of Contents:
1. Cover
2. Table of Contents
3. What is React?
4. JSX Basics
5. Components & Props
6. State & Lifecycle
7. Hooks Overview
8. useState Deep Dive
9. useEffect Deep Dive
10. Context API
11. Routing
12. Forms
13. Lists & Keys
14. Conditional Rendering
15. Performance
16. Testing
17. State Management
18. TypeScript
19. Styling
20. Deploy & Resources
Page 2
What is React?
React is a JS library for building UI with components. Declarative, reusa
Why learn React? Wide ecosystem, jobs, modern dev standard.
Pro Tip: Think of UI as functions of props + state.
Page 3
JSX Basics:
JSX looks like HTML in JS.
Use expressions { }.
Use className instead of class.
Return single root element.
Page 4
Components & Props:
Function components are common.
Props are inputs (read-only).
Compose small components.
Page 5
State & Lifecycle:
Before hooks: class components had state and lifecycle methods.
Legacy but useful to know.
Page 6
Hooks Overview:
Hooks bring state and effects to function components.
Common: useState, useEffect, useContext.
Page 7
useState Deep Dive:
useState returns [value, setter].
Use updater function for safe increments.
Page 8
useEffect Deep Dive:
useEffect handles side-effects.
Cleanup with return fn.
Mind dependency arrays.
Page 9
Context API:
Pass data without prop drilling.
Good for themes, auth, locale.
Page 10
Routing (React Router):
Use react-router-dom.
BrowserRouter, Routes, Route, Link.
Page 11
Forms & Controlled Components:
Inputs bound to state.
Handle validation.
Use Formik/React Hook Form for large forms.
Page 12
Lists & Keys:
Use map with unique keys.
Avoid index when list can reorder.
Page 13
Conditional Rendering:
Use ternary, &&.
Break branches into small components.
Page 14
Performance Optimization:
Use React.memo, useCallback, useMemo.
Virtualize long lists.
Page 15
Testing:
Use Jest + React Testing Library.
Test by user behavior not implementation.
Page 16
State Management:
Redux Toolkit simplifies Redux.
Useful for large, complex apps.
Page 17
TypeScript with React:
Type safety + autocompletion.
Define prop types.
Use strict mode.
Page 18
Styling Options:
CSS, CSS Modules, styled-components, Tailwind.
Be consistent across project.
Page 19
Build & Deploy:
Build with npm run build.
Deploy on Vercel, Netlify.
Checklist before deploy.
Page 20