Book Image

Serverless Web Applications with React and Firebase

By : Harmeet Singh, Mayur Tanna
Book Image

Serverless Web Applications with React and Firebase

By: Harmeet Singh, Mayur Tanna

Overview of this book

ReactJS is a wonderful framework for UI development. Firebase as a backend with React is a great choice as it is easy, powerful, and provides great developer experience. It removes a lot of boilerplate code from your app and allows you to focus on your app to get it out quickly to users. Firebase with React is also a good choice for Most Viable Product (MVP) development. This book provides more practical insights rather than just theoretical concepts and includes basic to advanced examples – from hello world to a real-time seat booking app and Helpdesk application This book will cover the essentials of Firebase and React.js and will take you on a fast-paced journey through building real-time applications with Firebase features such as Cloud Storage, Cloud Function, Hosting and the Realtime Database. We will learn how to secure our application by using Firebase authentication and database security rules. We will leverage the power of Redux to organize data in the front-end, since Redux attempts to make state mutations predictable by imposing certain restrictions on how and when updates can happen. Towards the end of the book you will have improved your React skills by realizing the potential of Firebase to create real-time serverless web applications.
Table of Contents (16 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Free Chapter
1
Getting Started with Firebase and React
Index

Basics of Redux


Redux is quite simple, so don't be afraid by just looking at the fancy terms such as Reducers, Actions, and such. We will go through the basic building blocks of Redux application, and you will also feel the same.

Actions

As we saw at the beginning of the chapter, an action is nothing but a plain JavaScript object that describes what has happened. To change the state is to emit an action that describes what has happened. Also, for store, actions are only the source of truth or information.

Here's an example action creator.

Each action type should be defined as a constant:

const fetchSeats = rows => ({
    type: GET_SEATS,
    rows
})

The type of an action describes the kind of the action that has occurred. If your application is large enough, you may separate out the action types as string constants to a separate module/file and use it in actions.

Now, you might be having a question—what should be the structure of my action ? We have here type and then have directly added rows...