Learn React Hooks
Build and refactor modern React.js applications using Hooks
Daniel Bugl
- 426 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Learn React Hooks
Build and refactor modern React.js applications using Hooks
Daniel Bugl
About This Book
Create large-scale web applications with code that is extensible and easy to understand using React Hooks
Key Features
- Explore effective strategies for migrating your state management from Redux and MobX to React Hooks
- Integrate Hooks with React features such as Context and Suspense to add advanced functionality to your web apps
- Create complex applications by combining multiple hooks
Book Description
React Hooks revolutionize how you manage state and effects in your web applications. They enable you to build simple and concise React.js applications, along with helping you avoid using wrapper components in your applications, making it easy to refactor code.
This React book starts by introducing you to React Hooks. You will then get to grips with building a complex UI in React while keeping the code simple and extensible. Next, you will quickly move on to building your first applications with React Hooks. In the next few chapters, the book delves into various Hooks, including the State and Effect Hooks. After covering State Hooks and understanding how to use them, you will focus on the capabilities of Effect Hooks for adding advanced functionality to React apps. You will later explore the Suspense and Context APIs and how they can be used with Hooks. Toward the concluding chapters, you will learn how to integrate Redux and MobX with React Hooks. Finally, the book will help you develop the skill of migrating your existing React class components, and Redux and MobX web applications to Hooks.
By the end of this book, you will be well-versed in building your own custom Hooks and effectively refactoring your React applications.
What you will learn
- Understand the fundamentals of React Hooks and how they modernize state management in React apps
- Build your own custom Hooks and learn how to test them
- Use community Hooks for implementing responsive design and more
- Learn the limitations of Hooks and what you should and shouldn't use them for
- Get to grips with implementing React context using Hooks
- Refactor your React-based web application, replacing existing React class components with Hooks
- Use state management solutions such as Redux and MobX with React Hooks
Who this book is for
This book is for React developers who want to learn how to build applications with Hooks. Developers who are looking to migrate to React for its advanced feature set and capabilities will also find the book useful.
Frequently asked questions
Information
Section 1: Introduction to Hooks
- Chapter 1, Introducing React and React Hooks
- Chapter 2, Using the State Hook
- Chapter 3, Writing Your First Application with React Hooks
Introducing React and React Hooks
- Learning about the fundamental principles of React
- Motivating the need for React Hooks
- Getting started with React Hooks
- Giving an overview of various Hooks
Technical requirements
Principles of React
- Declarative: Instead of telling React how to do things, we tell it what we want it to do. As a result, we can easily design our applications and React will efficiently update and render just the right components when the data changes. For example, the following code, which duplicates strings in an array is imperative, which is the opposite of declarative:
const input = ['a', 'b', 'c']
let result = []
for (let i = 0; i < input.length; i++) {
result.push(input[i] + input[i])
}
console.log(result) // prints: [ 'aa', 'bb', 'cc' ]
const input = ['a', 'b', 'c']
let result = input.map(str => str + str)
console.log(result) // prints: [ 'aa', 'bb', 'cc' ]
- Component-based: React encapsulates components that manage their own state and views, and then allows us to compose them in order to create complex user interfaces.
- Learn once, write anywhere: React does not make assumptions about your technology stack, and tries to ensure that you can develop apps without rewriting existing code as much as possible.
- Function components: JavaScript functions that take the props as an argument, and return the user interface (usually via JSX)
- Class components: JavaScript classes that provide a render method, which returns the user interface (usually via JSX)