Outline
We've reached the end of The Road to React, and I hope you enjoyed reading it and that it helped you gain traction in React. If you liked the book, feel free to share it with friends who are interested in learning more about React. Also, a review on Amazon or Goodreads would be greatly appreciated.
From here, I recommend you extend the application to create your own React projects before engaging another book, course, or tutorial. Try it for a week, take it to production by deploying it, and reach out to me or others to showcase it. I am always interested in seeing what my readers built, and learning how I can help them along.
If you're looking for extensions for your application, I recommend several learning paths after you've mastered the fundamentals:
Framework: Explore Next.js to build more sophisticated React applications. It includes React Server Components and Server Functions, server-side rendering (SSR), file-based routing, and more. It's a natural next step after mastering React as a library. If you choose this path, check out my course, The Road to Next.
Routing: Implement routing in your application with React Router. So far, we've only built a single-page application, but as your project grows, React Router will help manage multiple pages across different URLs -- all without requiring additional server requests.
Code Organization: If you haven't already, revisit the chapter on code organization and apply those best practices. Structuring your components properly will help with maintainability, reusability, and scalability as your application grows.
Tooling with Webpack and Babel: We used Vite to set up the project in this book, but at some point, you may want to understand the tooling behind it to create projects without relying on Vite. I recommend starting with a minimal Webpack setup before exploring additional configurations.
Connecting to a Database and/or Authentication: As your React applications grow, persistent data storage becomes essential. A database allows you to retain data across sessions and share it between users. Firebase is one of the easiest ways to introduce a database without writing a backend application. My book, "The Road to Firebase", provides a step-by-step guide on using Firebase authentication and database integration in React.
Connecting to a Backend: So far, we've only requested data from a third-party API. You can take it further by building your own backend that connects to a database and manages authentication and authorization. In "The Road to GraphQL", I teach how to use GraphQL for client-server communication, connect a backend to a database, handle user sessions, and interact with a backend via a GraphQL API.
State Management: In this book, we've managed local state within React components, which is sufficient for many applications. However, larger applications may benefit from external state management solutions. I cover the most popular one in my book, "The Road to Redux".
Testing: We only scratched the surface of testing in this book. If you're unfamiliar with testing web applications, dive deeper into unit and integration testing, especially using React Testing Library for component testing and Cypress for end-to-end testing.
Type Checking: Earlier, we briefly used TypeScript in React. TypeScript helps prevent bugs and improves the developer experience. Consider diving deeper into it to make your JavaScript applications more robust -- you might even decide to switch to TypeScript entirely.
UI Components: Many beginners introduce UI component libraries (like Material UI) too early. It's better to first learn how to build essential UI elements -- dropdowns, checkboxes, dialogs -- using standard HTML elements and React state. Once you master these basics, adopting a UI component library will be much easier.
React Native: React Native allows you to build mobile applications for iOS and Android using React. Once you're comfortable with React, transitioning to React Native is relatively smooth since they share core concepts. The main differences lie in mobile layout components, build tools, and platform-specific APIs.
I invite you to visit my website for more topics on web development and software engineering. You can also subscribe to my Newsletter for updates on new articles, books, and courses. If you have only read the book and want to explore more, check out the official course website.
Thank you for reading The Road to React.
Best regards, Robin Wieruch