In this chapter, we discussed why server-rendering makes sense and what benefits we get from using this technique. Then we learned how to implement server-side rendering in our Redux/React application. We did this by using react-router on the server to figure out which page to render. Furthermore, we used ReactDOMServer to render React components to a string. Finally, we discussed how to inject a preloaded Redux store state into our application.
In the upcoming chapters, we will start diving deeper into how Redux works, and cover how to extend Redux. In the next chapter, we will cover how to solve generic problems with higher-order reducers. We will focus on how to make our own abstractions on top of Redux to generalize behavior such as undo/redo. This means that you do not have to re-implement this kind of behavior every time. You can even package these abstractions into...