Redux completes the missing piece of the React framework, and is used at the core of React for most complex React projects. In this course, we’ll be focusing on leveraging the Redux framework to impose better engineering on React applications. Redux is an implementation of FLUX, which is a pattern for managing application state in React. Redux brings a clean and testable design to the table using a purely functional approach.
In this course will build an app piece by piece, starting with a minimal webpack application and quickly transforming it into an isomorphic Redux application with full API integration, including secure authentication.
About the author
Learn how to use the webpack bundler and supporting loaders to build a React application.
In this video, we’ll learn how to the working of data binding mechanisms in React.
In this video, we will create an Express application and use it to serve our React client.
In this video, we’ll learn how to add SASS to our build chain.
One chief disadvantage to single page apps is that they’re less accessible to search engines. Using isomorphic rendering gives you full searchability and a performance boost as well.
When state management becomes complex, it becomes less practical for components to handle it. Redux offers a testable and predictable implementation of the FLUX pattern.
We need to ensure consistency between the client and the server side rendering code when computing the virtual DOM. When adding Redux to the mix, this includes keeping the application state consistent as well.
An API without data is like a restaurant without food. Knex provides a thin wrapper around sql that will get our tables populated in no time.
Sometimes we need to do more than just read or write data. Object relational managers provide higher level abstractions as well as features like model validation and eager loading of associated data.
Like any app, ours needs a way to for users to login. Authenticating an API should be both secure and painless.
Expanding the auth scheme to accept cookies can make it easier for browser based clients to stay logged in, but it introduced a CSRF risk that must be protected against.
The application UI needs a form so users can submit their credentials to the API.
With a cookie, the server knows the user is authenticated, but the client does not.
Deciding which screen to show based on application state is a problem for everyone. We need a client side router to map URL’s to our different screens.
Anything we introduce on the client must also work with SSR. We can accomplish this by using the static router.
Users should be able to click a button to logout of the application in order to protect their online security.
There can’t be data management without data. Any CRUD API needs endpoints to create new records.
Client side validation can enhance the user experience by preventing most invalid data from getting to the server.
All applicable validation checks should be run on the server, without exception. Validating the submission on the client should not be considered sufficient.
CRUD applications typically contain list views for the resources being managed. Use Redux and react to retrieve, store, and display data in a table to be browsed.
An API should limit the number of records it returns to prevent performance problems. Flipping through pages of list data is a common interface for browsing records from the API.
Similar Redux logic must often be applied in multiple places. Avoid repetition by learning how to safely reuse actions and reducers.
To really get the most out of server side rendering, the data your page needs can be loaded before the client renders.
As an application evolves, we need to maintain confidence that our code does what we think it does. Writing unit tests for the most complex parts of an application is essential to ensuring long term quality.
Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.
With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.
From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.
Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.