This is an advanced chapter that focuses on the functional programming paradigm and design patterns that come from the functional programming world. It is high time to dive deep into why we have the option of creating stateless and stateful components. This comes down to understanding what pure functions are and how immutable objects help us to predict application behavior. Once we have clarified that, we will move on to higher-order functions and higher-order components. You have used them already many times, but this time we will look at them from a slightly different perspective.
Throughout this book, I have challenged you with many concepts that will get much much clearer after reading this chapter. I hope you will embrace them in your applications and use them wisely, keeping in mind the maturity of your team. These patterns are...