If you've tried to learn React before, you've probably gone through the usual path: read the docs, watch a tutorial, maybe build a todo app. But when it comes to using hooks like useCallback, useDeferredValue, or useTransition in a real project, things start to feel unclear. That's exactly why I built React Dojo.
What is React Dojo?
React Dojo is a free, open-source learning platform built on one principle:
React is learned by practicing, not by reading.
Every concept on the platform comes with three things:
A clear, concise explanation
An interactive playground where you can run and modify code
Real coding exercises to test your understanding
No hand-holding. No shortcuts. Just you and the code.
β react-dojo.vercel.app
What's covered?
React Dojo currently includes 27 concepts, 15 exercises, and 10 quizzes, organized into 6 categories:
π§ State & Memory
useState Β· useReducer Β· useRef Β· useOptimistic Β· useActionState
π Synchronization
useEffect Β· useLayoutEffect Β· useEffectEvent
β‘ Performance
useMemo Β· useCallback Β· memo
π Concurrency
useTransition Β· useDeferredValue Β· Suspense Β· use
π§© Composition
useContext Β· createPortal Β· lazy Β· useId Β· useFormStatus
π― Interviews
Classic React interview topics: Virtual DOM, HOC, Prop Drilling, Controlled vs Uncontrolled components, and more.
Exercises
Exercises range from basic to advanced:
Basic: Counter, Toggle, Color Picker, Stopwatch
Intermediate: Theme Switcher, Form Validation, Infinite Scroll
Advanced: Debounced Search, Drag & Drop, Lazy Modal
Each exercise is designed to push you to apply what you've learned β not just copy and paste.
Quizzes
Quizzes are organized by difficulty (Basic, Intermediate, Advanced) and cover topics like:
- React Hooks
- Performance Patterns
- Context API
- Component Lifecycle
Custom Hooks [Beta]
One of the most valuable sections is the Custom Hooks library β 15 community-contributed, reusable hooks organized by category. Each one includes a description, code, and an interactive playground.
State: useLocalStorage Β· usePrevious Β· useToggle Β· useCounter
DOM: useMediaQuery Β· useClickOutside Β· useWindowSize Β· useHover Β· useEventListener Β· useIntersectionObserver Β· useOnlineStatus
Async: useFetch
Utility: useDebounce Β· useClipboard Β· useInterval
You can copy the code directly, try it in the playground, and use it in your own projects. It's also open to contributions if you've built a useful hook, you can add it to the library.
Developer Directory [Beta]
One of the latest features is the Developer Directory β sign in with GitHub and join a community of React learners. You can:
- Track your learning progress
- Compare with other developers
- Earn KYU ranks as you advance
Platform Features
β¨οΈ Keyboard shortcuts for fast navigation
π Bilingual β available in English and Spanish
π± Mobile-friendly β 42% of our users access from mobile
π Global search across all concepts and exercises
π Dark mode by default
Built with
The platform is built with Next.js, TypeScript, Drizzle ORM, Neon (PostgreSQL), and Shadcn UI.
Open Source & Community
React Dojo is fully open source. The community is active and growing, with contributors from Uruguay πΊπΎ, Argentina π¦π·, the US πΊπΈ, Colombia π¨π΄, and Spain πͺπΈ. If you want to contribute whether it's a new concept, an exercise, a quiz, a bug fix, or a translation β you're more than welcome.





Top comments (0)