Taming the State in React (The Bare Essentials)
Last updated on 2018-11-12
About the Book
The course turned out to exceed all my expectations. What started as an attempt to write a sole ebook about state management in React with Redux and MobX, turned out into a full blown course with a 250-page ebook, exciting applications and boilerplate projects to get started in learning and building applications with these libraries, and screencast series about implementing React applications from scratch with state management.
The bigger idea was to built a course that gives learners a consistent way to study the topic state management. I had the feeling that there exist way too many, partly inconsistent or outdated, tutorials around these topics and it is hard for learners to choose from so many opportunities. I thought, one well structured course should help newcomers to get started easily in the topic of state management with React's local state, Redux and MobX. Afterward, everyone should be on one well set level to build his/her own applications with Redux or MobX.
What will I learn from the course?
The course teaches you how to use local state in React and scaling React applications with advanced practices, patterns and techniques. Afterward, the ebook dives into learning Redux and MobX as libraries for state management. These libraries are taught from scratch without React but in combination with React later on. However, all these learnings are not necessarily bound to React as view layer library. They can be applied in other view layer (component based) libraries, such as Vue.js, or single page application (SPA) frameworks, such as Angular.js, too. If you are new to React and want to learn React before, I recommend you to read the up to date book The Road to learn React. It has been downloaded by 11.000 people so far, which makes me very proud.
After taking the course, I believe you are ready to build your own applications in any (view layer) library or SPA framework of your choice with Redux or MobX. But when using React, you are setup with advanced knowledge about React's local state to use it in larger applications.
What's the content of the course?
The course is divided into three packages. Basically, it boils down into taking the course (1) by reading the 250-page ebook in PDF, EPUB or MOBI and doing all the examples on the way, (2) by reading the book and having access to several exciting applications and boilerplate projects to get started on your own, or (3) by reading the book, getting access to all the source code and watching screencasts series to see me coding applications from scratch and explaining it for you.
For all of the three packages, you can join the Slack Group that was created to build a community around these courses where people help each other. There are already a couple of hundred people in the Slack Group because of my previous ebook about React and it has become a great community for those who want to learn more about it. In addition, when taking the course, you will get a curated list of articles for further readings outside of the ebook to keep yourself updated about these topics.
Why should you take the course?
In the previous part, I have shown the benefits and learnings when taking the course, as well as talked about its content. So why should you believe in the course and my content in the first place?
For the last three years, I worked on larger scale applications using Angular and React with Redux. In my development team, we felt the shortcomings of Angular's state management, implemented our own state management solution when Flux wasn't a thing, but decided to move over to React and Redux eventually. Since it is a larger application, the migration is still ongoing, but while migrating and implementing a lot of features in React and Redux from scratch, there were several challenges ahead to overcome and opportunities to grow with them.
- About the Author
- Editor and Terminal
- Node and NPM
How to read the Book
- Tips & Tricks
Local State Management
- Pure Functions
Local State in React
- Stateful and Stateless Components
- Props vs. State
- Form State
- Controlled Components
- Unidirectional Data Flow
Scaling Local State in React
- Lifting State
- Functional State
- Higher-Order Components
- React’s Context for Provider and Consumer
Persistence in State
- Local Storage
- Caching in State
Transition to Sophisticated State
- The Controversies of Local State Management
- The Flaw of Local State Management
Basics in Redux
- Hands On: Redux Standalone
- Minimum Action Payload
- Action Type
- Action Creator
- Optional Payload
- Payload Structure
- Hands On: Redux Standalone with advanced Actions
- Initial State
- Nested Data Structures
- Combined Reducer
- Clarification for Initial State
- Nested Reducers
- Hands On: Redux Standalone with advanced Reducers
- Basics in Redux
Redux in React
Connecting the State
- Hands On: Bootstrap React App with Redux
- Hands On: Naive Todo with React and Redux
Connecting the State, but Sophisticated
- Hands On: Sophisticated Todo with React and Redux
- Hands On: Connecting State Everywhere
- Connecting the State
Redux State Structure and Retrieval
- Middleware in Redux
- Immutable State
- Normalized State
- Plain Selectors
- Denormalize State in Selectors
- Hands On: Todo with Advanced Redux
- Hands On: Todo but more Features
- Hands On: Todo with Notifications
Asynchronous Actions Alternatives
- Redux Saga
- Hands On: Todo with Redux Saga
- Redux Thunk
Redux Patterns, Techniques and Best Practices
- Naming Conventions
- The Relationship between Actions and Reducers
- Technical Folder Organization
- Feature Folder Organization
- Error Handling
(React in) Redux FAQ
- Redux vs. Local State
- View vs. Entity State
- Accidental vs. Planned State
Redux State as Architecture
Hands On: Hacker News with Redux
- Part 1: Project Organization
- Part 2: Plain React Components
- Part 3: Apply Styling
- Part 4: Archive a Story
- Part 5: Introduce Redux: Store + First Reducer
- Part 6: Two Reducers
- Part 7: First Action
- Part 8: First Selector
- Part 9: Re-render View
- Part 10: First Middleware
- Part 11: First Action Creator
- Part 12: Connect React with Redux
- Part 13: Lift Connection
- Part 14: Interacting with an API
- Part 15: Separation of API
- Part 16: Error Handling
- Part 17: Testing
- Final Words
- Hands On: Hacker News with Redux
Redux Ecosystem Outline
- Redux DevTools
- Connect Revisited
- Concise Actions and Reducers
- React Redux Libraries
- Routing with Redux
- Typed Redux
- Server-side Redux
- Observable State
- Computed Values
MobX in React
- Local State
- Scaling Reactions
- Inject Stores
- Other Reactions
- Be Opinionated
- Alternative to Redux?
- Beyond Redux and MobX
Last but not Least
- Further Learning Paths
- Never stop Learning
- Thank You
The Leanpub 45-day 100% Happiness Guarantee
Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
See full terms
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers), EPUB (for phones and tablets) and MOBI (for Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.