
React and React Native
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Key Features
New content on TypeScript, React frameworks, state management strategies, and unit testing
Get to grips with React fundamentals and modern React techniques and architecture
Broaden your React expertise through mobile development with React Native
Book DescriptionWelcome to your big-picture guide to the React ecosystem. If you're new to React and looking to become a professional React developer, this book is for you. This updated fifth edition reflects the current state of React, including React framework coverage as well as TypeScript. Part 1 introduces you to React. You'll discover JSX syntax, hooks, functional components, and event handling, learn techniques to fetch data from a server, and tackle the tricky problem of state management. Once you're comfortable with writing React in JavaScript, you'll pick up TypeScript development in later chapters. Part 2 transitions you into React Native for mobile development. React Native goes hand-in-hand with React. With your React knowledge behind you, you'll appreciate where and how React Native differs as you write shared components for Android and iOS apps. You'll learn how to build responsive layouts, use animations, and implement geolocation. By the end of this book, you'll have a big-picture view of React and React Native and be able to build applications with both.What you will learn
Explore React architecture, component properties, state, and context
Work with React Hooks for handling functions and components
Fetch data from a server using the Fetch API, GraphQL, and WebSockets
Dive into internal and external state management strategies
Build robust user interfaces (UIs) for mobile and desktop apps using Material-UI
Perform unit testing for your components with Vitest and mocking
Manage app performance with server-side rendering, lazy components, and Suspense
Who this book is forThis book is for any JavaScript or TypeScript developer who wants to start learning how to use React and React Native for web and mobile app development. No prior knowledge of React or React Native is required. However, a working knowledge of JavaScript is necessary to be able to follow along the content covered.
More details
Other editions
Additional editions

Previous edition

Persons
Mikhail Sakhniuk is Software Engineer with high proficiency in JavaScript, React and React Native. He has more than 5 years of experience in developing web and mobile applications. He has worked for startups, fintech companies, and product companies with more than 20 million users. Currently, Mikhail is working at Miro as a Frontend Engineer. In addition, he owns and maintains a few open-source projects. He also shares his experience and knowledge through books and articles.Boduch Adam :
Adam Boduch has been involved in large-scale JavaScript development for nearly 15 years. Before moving to the frontend, he worked on several large-scale cloud computing products using Python and Linux. No stranger to complexity, Adam has practical experience with real-world software systems and the scaling challenges they pose.
Content
Why React?
Rendering with JSX
Understanding React Components and Hooks
Event Handling in the React Way
Crafting Reusable Components
Type-Checking and Validation with TypeScript
Handling Navigation with Routes
Code Splitting Using Lazy Components and Suspense
User Interface Framework Components
High-Performance State Updates
Fetching Data from a Server
State Management in React
Server-Side Rendering
Unit Testing in React
Why React Native?
React Native Under the Hood
Kickstarting React Native Projects
Building Responsive Layouts with Flexbox
Navigating Between Screens
Rendering Item Lists
Geolocation and Maps
Collecting User Input
Responding to User Gestures
Showing Progress
Displaying Modal Screens
Using Animations
Controlling Image Displays
Going Offline
Preface
Over the years, React and React Native have proven themselves among JavaScript developers as popular choices for a comprehensive and practical guide to the React ecosystem. This fifth edition comes with the latest features, enhancements, and fixes of React, while also being compatible with React Native. It includes new chapters covering critical features and concepts in modern cross-platform app development with React and TypeScript.
From the basics of React to popular features such as Hooks, server rendering, and unit testing, this definitive guide will help you become a professional React developer in a step-by-step manner.
You'll begin by learning about the essential building blocks of React components. Next, you'll learn how to improve the stability of your components using TypeScript. As you advance through the chapters, you'll work with higher-level functionalities in application development and then put your knowledge to work by developing user interface components for the web and native platforms.
By the end of this book, you'll be able to build React applications for the web and React Native applications for multiple platforms: web, mobile, and desktop: with confidence.
Who this book is for
This book is for any JavaScript developer who wants to start learning how to use React and React Native for mobile and web application development. No prior knowledge of React is required; however, working knowledge of JavaScript, HTML and CSS is necessary to be able to follow along with the content covered.
What this book covers
Chapter 1, Why React?, describes what React is and why you want to use it to build your application.
Chapter 2, Rendering with JSX, teaches the basics of JSX, the markup language used by React components.
Chapter 3, Understanding React Components and Hooks, introduces the core mechanisms of components and Hooks in React application.
Chapter 4, Event Handling, the React Way, gives an overview of how events are handled by React components.
Chapter 5, Crafting Reusable Components, guides you through the process of refactoring components by example.
Chapter 6, Type Checking and Validation with TypeScript, describes the various phases that React components go through and why it's important for React developers.
Chapter 7, Handling Navigations with Routes, provides plenty of examples of how to set up routing for your React web app.
Chapter 8, Code Splitting Using Lazy Components and Suspense, introduces code-splitting techniques that result in performant, more efficient applications.
Chapter 9, User Interface Framework Components, gives an overview of how to get started with MUI, a React component library for building UIs.
Chapter 10, High-Performance State Updates, goes into depth on the new features in React that allow for efficient state updates and a high-performing application.
Chapter 11, Fetching Data from a Server, discusses how we can retrieve the data from servers using various ways.
Chapter 12, State Management in React, covers managing state in the app with popular solutions like Redux and Mobx.
Chapter 13, Server-Side Rendering, teaches you how to use Next.js to build large-scale React applications that render content on a server and a client.
Chapter 14, Unit Testing in React, gives an overview of testing software with focus on unit testing using Vittest.
Chapter 15, Why React Native?, describes what the React Native library is and the differences between native mobile development.
Chapter 16, React Native under the Hood, gives an overview of the architecture of React Native.
Chapter 17, Kick-Starting React Native Projects, teaches you how to start a new React Native project.
Chapter 18, Building Responsive Layouts with Flexbox, describes how to create a layout and add styles.
Chapter 19, Navigating between Screens, shows the approaches to switching between screens in an app.
Chapter 20, Rendering Item Lists, describes how to implement lists of data in an application.
Chapter 21, Geolocation and Maps, explains on how to track geolocation and add a map to an app.
Chapter 22, Collecting User Input, teaches you how to create forms.
Chapter 23, Responding to User Gestures, provides examples of how to handle user gestures.
Chapter 24, Showing Progress, shows you how to handle process indications and progress bars.
Chapter 25, Displaying Modal Screens, teaches you how to create dialog modals.
Chapter 26, Using Animations, describes how to implement animations in an app.
Chapter 27, Controlling Image Display, gives an overview of how to render images in a React Native app.
Chapter 28, Going Offline, shows how to deal with an app when a mobile phone doesn't have an internet connection.
To get the most out of this book
This book assumes you have a basic understanding of the JavaScript programming language. It also assumes that you'll be following along with the examples, which require a command-line terminal, a code editor, and a web browser. You'll learn how to set up a React project in Chapter 1, Why React?.
The requirements for learning React Native are the same as for React development, but to run an app on a real device, you will need an Android or iOS smartphone. In order to run iOS apps in the simulator, you will need a Mac computer. To work with Android simulator, you can use any kind of PC.
Download the example code files
The code bundle for the book is hosted on GitHub at https://github.com/PacktPublishing/React-and-React-Native-5E. We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
Download the color images
We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: https://packt.link/gbp/9781805127307.
Conventions used
There are a number of text conventions used throughout this book.
CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. For example: "You have the actual routes declared as <Route> elements."
A block of code is set as follows:
export default function First() { return <p>Feature 1, page 1</p>; } When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:
export default function List({ data, fetchItems, refreshItems, isRefreshing }) { return ( <FlatList data={data} renderItem={({ item }) => <Text style={styles. item}>{item.value}</Text>} onEndReached={fetchItems} onRefresh={refreshItems} refreshing={isRefreshing} /> ); } Any command-line input or output is written as follows:
npm install @react-navigation/bottom-tabs @react-navigation/ drawer Bold: Indicates a new term, an important word, or words that you see on the screen. For instance, words in menus or dialog boxes appear in the text like this. For example: "Select System info from the Administration panel."
Warnings or important notes appear like this.
Tips and tricks appear like this.
Get in touch
Feedback from our readers is always welcome.
General feedback: Email feedback@packtpub.com and mention the book's title in the subject of your message. If you have questions about any aspect of this book, please email us at questions@packtpub.com.
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you reported this to us. Please visit http://www.packtpub.com/submit-errata, click Submit Errata, and fill in the form.
Piracy: If you come across any illegal copies of our...
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.