Book Image

Isomorphic JavaScript Web Development

By : Tomas Alabes, Konstantin Tarkus
Book Image

Isomorphic JavaScript Web Development

By: Tomas Alabes, Konstantin Tarkus

Overview of this book

<p>The latest trend in web development, Isomorphic JavaScript, allows developers to overcome some of the shortcomings of single-page applications by running the same code on the server as well as on the client. Leading this trend is React, which, when coupled with Node, allows developers to build JavaScript apps that are much faster and more SEO-friendly than single-page applications.</p> <p>This book begins by showing you how to develop frontend components in React. It will then show you how to bind these components to back-end web services that leverage the power of Node. You'll see how web services can be used with React code to offload and maintain the application logic. By the end of this book, you will be able to save a significant amount of development time by learning to combine React and Node to code fast, scalable apps in pure JavaScript.</p>
Table of Contents (16 chapters)
Title Page
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface

Working with the React context


When you build an isomorphic app, it may be handy to use React's context feature. You can use it to pass context-related data from the top-level React component throughout the component tree down to all the child components that explicitly require that data. This way, you won't need to manually pass the data down to the child components at every level.

Note

You can learn more about this feature in the React documentation:https://reactjs.com/docs/context.

Most of the time you are better off using props and/or Flux-like stores to pass data between components and use the React context only when it's hard to pass data in a traditional way. A good use case for that feature would be passing down the currently logged-in user object, the current language, or theme information. If you're building a multi-tenant website, it would be a good idea to pass the client/site information via context.

First, let's see how to access that data from inside React components. Let's assume...