What this book covers
Chapter 1, Working with React, React is a JavaScript library (MIT License) made by Facebook to create interactive UIs. It's used to create dynamic and reusable components. The most powerful thing about React is that can be used in the client, server, mobile applications and even VR applications.
Chapter 2, Conquering Components and JSX , this chapter contains recipes related to how to create components in React. We are going to learn how to create React components (class components, pure components, and functional components) and organize our project structure.
Chapter 3, Handling Events, Binding and Useful React Packages, this chapter contains recipes related to handling events, binding methods in React and we will implement some of the most useful React packages.
Chapter 4, Adding Routes to Our Application with React Router, in this chapter, we are going to learn how to add dynamic routes in our project using React Router v4.
Chapter 5, Mastering Redux, Redux is a predictable state container for JavaScript apps. That means Redux can be used with vanilla JavaScript or frameworks/libraries such as Angular and jQuery. Redux is mainly a library responsible for issuing state updates and responses to actions.
Chapter 6, Creating Forms with Redux Form, Forms are a fundamental part of any web application, and in the following recipes, we are going to learn how to use forms with and without Redux Form.
Chapter 7, Animations with React, Animations are very common in any web application. Since CSS3, animations have become widespread and easy to implement. The most common use of animations are transitions, where you can change CSS properties and define the duration or delay.
Chapter 8, Creating an API with Node.js Using MongoDB and MySQL, Node.js is widely used as a backend for web applications because it is easy to create an API and its performance is better than technologies such as Java, PHP, and Ruby. Usually, the most popular way to use Node.js is by using a framework called Express.
Chapter 9, Apollo and GraphQL, GraphQL is an Application Layer Query Language which can be used with any database, also is an open source (MIT license) created by Facebook. The main difference with REST is that GraphQL does not use endpoints but queries instead and is supported by most of the server languages such as JavaScript (Node.js), Go, Ruby, PHP, Java, Python, and so on.
Chapter 10, Mastering Webpack 4.x, Webpack 4 does not need a configuration file by default. Before in the oldest versions, you must have a configuration file, but of course, if you need to customize Webpack 4 to your project needs, you can still create a configuration file which will be way easier to configure.
Chapter 11, Implementing Server-Side Rendering, Probably you don't need to worry about Server Side Rendering (SSR) if you don't care too much about SEO. Currently, the Googlebot supports Client Side Rendering (CSR), and it can index our site in Google, but if you care about SEO and you are worried about improving the SEO on others Search Engines like Yahoo, Bing or DuckDuckGo then using Server Side Rendering (SSR) is the way to go.
Chapter 12, Testing and Debugging, testing and debugging are very important for any project that wants to have the best quality. Unfortunately, many developers do not care about testing (unit tests) because they think that will reduce the speed of the development and some of them leave it until the end of the project. In my personal experience, I can say that testing since the beginning of the project will save you time because at the end you will have fewer bugs to fix.
Chapter 13, Deploying to Production, now is time to deploy our application to production and show it to the world. In this chapter, you will learn how to deploy our React Application using one of the best cloud services: Digital Ocean.
Chapter 14, Working with React Native, React Native is a framework for building mobile apps using JavaScript and React. Many people think that with React Native you make some "mobile web app" or a "hybrid app" (like Ionic, PhoneGap or Sencha) but you build a native app because React Native converts your React code to Java for Android and Objective-C for iOS apps.