Book Image

Full-Stack React Projects

By : Shama Hoque
Book Image

Full-Stack React Projects

By: Shama Hoque

Overview of this book

The benefits of using a full JavaScript stack for web development are undeniable, especially when robust and widely adopted technologies such as React, Node, and Express and are available. Combining the power of React with industry-tested, server-side technologies, such as Node, Express, and MongoDB, creates a diverse array of possibilities when developing real-world web applications. This book guides you through preparing the development environment for MERN stack-based web development, to creating a basic skeleton application and extending it to build four different web applications. These applications include a social media, an online marketplace, a media streaming, and a web-based game application with virtual reality features. While learning to set up the stack and developing a diverse range of applications with this book, you will grasp the inner workings of the MERN stack, extend its capabilities for complex features, and gain actionable knowledge of how to prepare MERN-based applications to meet the growing demands of real-world web applications.
Table of Contents (19 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Using ES6 class for stateful vs pure functional components


While building UI with React components, composing the views with more stateless functional components can make the frontend code manageable, clean, and easier to test. But some components will need the state or lifecycle hooks to be more than pure presentational components. In this section, we look at what it takes to build stateful and stateless functional React components, when to use one or the other and how often.

React components with ES6 class

React components defined using ES6 class have access to lifecycle methods, the this keyword, and can manage state with setState when building stateful components. Stateful components allow us to build interactive components that can manage changing data in state, and propagate any business logic that needs to be applied across the UI. Generally, for complex UI, stateful components should be higher-level container components that manage the state of the smaller stateless functional components...