Professional Documents
Culture Documents
Full Download pdf of (eBook PDF) Learning React: Modern Patterns for Developing React Apps 2nd Edition all chapter
Full Download pdf of (eBook PDF) Learning React: Modern Patterns for Developing React Apps 2nd Edition all chapter
Full Download pdf of (eBook PDF) Learning React: Modern Patterns for Developing React Apps 2nd Edition all chapter
http://ebooksecure.com/product/learning-react-modern-patterns-
for-developing-react-apps-2nd-edition-ebook-pdf/
http://ebooksecure.com/product/ebook-pdf-instructional-patterns-
strategies-for-maximizing-student-learning/
http://ebooksecure.com/product/ebook-pdf-reflections-patterns-
for-reading-and-writing-2nd-edition/
http://ebooksecure.com/product/ebook-pdf-patterns-of-modern-
chinese-history-by-charles-a-desnoyers/
Modern Sample Preparation for Chromatography, 2nd
Edition Serban Moldoveanu - eBook PDF
https://ebooksecure.com/download/modern-sample-preparation-for-
chromatography-2nd-edition-ebook-pdf/
http://ebooksecure.com/product/original-pdf-learning-for-
teaching-teaching-for-learning-with-student-resour/
http://ebooksecure.com/product/ebook-pdf-developing-content-area-
literacy-40-strategies-for-middle-and-secondary-classrooms-2nd-
edition/
https://ebooksecure.com/download/business-communication-
developing-leaders-for-a-networked-world-ebook-pdf/
http://ebooksecure.com/product/ebook-pdf-patterns-of-world-
history-combined-volume-2nd-edition/
c. Typechecking for React Applications
i. PropTypes
ii. Flow
iii. TypeScript
d. Test-Driven Development
i. TDD and Learning
e. Incorporating Jest
Copyright © 2020 Alex Banks and Eve Porcello. All rights reserved.
The views expressed in this work are those of the authors, and do not
represent the publisher’s views. While the publisher and the authors
have used good faith efforts to ensure that the information and
instructions contained in this work are accurate, the publisher and the
authors disclaim all responsibility for errors or omissions, including
without limitation responsibility for damages resulting from the use of
or reliance on this work. Use of the information and instructions
contained in this work is at your own risk. If any code samples or other
technology this work contains or describes is subject to open source
licenses or the intellectual property rights of others, it is your
responsibility to ensure that your use thereof complies with such
licenses and/or rights.
978-1-492-05172-5
[LSI]
Preface
This book is for developers who want to learn the React library while
learning the latest techniques currently emerging in the JavaScript
language. This is an exciting time to be a JavaScript developer. The
ecosystem is exploding with new tools, syntax, and best practices that
promise to solve many of our development problems. Our aim with this
book is to organize these techniques so you can get to work with React
right away. We’ll get into state management, React Router, testing, and
server rendering, so we promise not to introduce only the basics and
then throw you to the wolves.
This book does not assume any knowledge of React at all. We’ll
introduce all of React’s basics from scratch. Similarly, we won’t
assume that you’ve worked with the latest JavaScript syntax. This will
be introduced in Chapter 2 as a foundation for the rest of the chapters.
Along the way, check out the GitHub repository. All of the examples
are there and will allow you to practice hands-on.
Italic
Indicates new terms, URLs, email addresses, filenames, and file
extensions.
Constant width
Used for program listings, as well as within paragraphs to refer to
program elements such as variable or function names, databases,
data types, environment variables, statements, and keywords.
TIP
This element signifies a tip or suggestion.
NOTE
This element signifies a general note.
WARNING
This element indicates a warning or caution.
Using Code Examples
Supplemental material (code examples, exercises, etc.) is available for
download at https://github.com/moonhighway/learning-react.
This book is here to help you get your job done. In general, if example
code is offered with this book, you may use it in your programs and
documentation. You do not need to contact us for permission unless
you’re reproducing a significant portion of the code. For example,
writing a program that uses several chunks of code from this book does
not require permission. Selling or distributing examples from O’Reilly
books does require permission. Answering a question by citing this
book and quoting example code does not require permission.
Incorporating a significant amount of example code from this book into
your product’s documentation does require permission.
If you feel your use of code examples falls outside fair use or the
permission given above, feel free to contact us at
permissions@oreilly.com.
How to Contact Us
Please address comments and questions concerning this book to the
publisher:
Sebastopol, CA 95472
707-829-0104 (fax)
We have a web page for this book, where we list errata, examples, and
any additional information. You can access this page at
https://oreil.ly/learningReact_2e.
For news and information about our books and courses, visit
http://oreilly.com.
Acknowledgments
Our journey with React wouldn’t have started without some good old-
fashioned luck. We used YUI when we created the training materials
for the full-stack JavaScript program we taught internally at Yahoo.
Then in August 2014, development on YUI ended. We had to change
all our course files, but to what? What were we supposed to use on the
front-end now? The answer: React. We didn’t fall in love with React
immediately; it took us a couple hours to get hooked. It looked like
React could potentially change everything. We got in early and got
really lucky.
We appreciate the help of Angela Rufino and Jennifer Pollock for all
the support in developing this second edition. We also want to
acknowledge Ally MacDonald for all her editing help in the first
edition. We’re grateful to our tech reviewers, Scott Iwako, Adam
Rackis, Brian Sletten, Max Firtman, and Chetan Karande.
There’s also no way this book could have existed without Sharon
Adams and Marilyn Messineo. They conspired to purchase Alex’s first
computer, a Tandy TRS 80 Color Computer. It also wouldn’t have
made it to book form without the love, support, and encouragement of
Jim and Lorri Porcello and Mike and Sharon Adams.
When React was first released, there was a lot of conversation around
whether it was good, and there were many skeptics. It was new, and the
new can often be upsetting.
To respond to these critiques, Pete Hunt from the React team wrote an
article called “Why React?” that recommended that you “give it
[React] five minutes.” He wanted to encourage people to work with
React first before thinking that the team’s approach was too wild.
Yes, React is a small library that doesn’t come with everything you
might need out of the box to build your application. Give it five
minutes.
Yes, in React, you write code that looks like HTML right in your
JavaScript code. And yes, those tags require preprocessing to run in a
browser. And you’ll probably need a build tool like webpack for that.
Give it five minutes.
A Strong Foundation
Whether you’re brand new to React or looking to this text to learn
some of the latest features, we want this book to serve as a strong
foundation for all your future work with the library. The goal of this
book is to avoid confusion in the learning process by putting things in a
sequence: a learning roadmap.
Before digging into React, it’s important to know JavaScript. Not all of
JavaScript, not every pattern, but having a comfort with arrays, objects,
and functions before jumping into this book will be useful.
In the next chapter, we’ll look at newer JavaScript syntax to get you
acquainted with the latest JavaScript features, especially those that are
frequently used with React. Then we’ll give an introduction to
functional JavaScript so you can understand the paradigm that gave
birth to React. A nice side effect of working with React is that it can
make you a stronger JavaScript developer by promoting patterns that
are readable, reusable, and testable. Sort of like a gentle, helpful
brainwashing.
From there, we’ll cover foundational React knowledge to understand
how to build out a user interface with components. Then we’ll learn to
compose these components and add logic with props and state. We’ll
cover React Hooks, which allow us to reuse stateful logic between
components.
Once the basics are in place, we’ll build a new application that allows
users to add, edit, and delete colors. We’ll learn how Hooks and
Suspense can help us with data fetching. Throughout the construction
of that app, we’ll introduce a variety of tools from the broader React
ecosystem that are used to handle common concerns like routing,
testing, and server-side rendering.
Another huge event on the timeline was the release of React Fiber in
2017. Fiber was a rewrite of React’s rendering algorithm that was sort
of magical in its execution. It was a full rewrite of React’s internals that
changed barely anything about the public API. It was a way of making
React more modern and performant without affecting its users.
In the future, we’ll inevitably see more change, but one of the reasons
for React’s success is the strong team that has worked on the project
over the years. The team is ambitious yet cautious, pushing forward-
thinking optimizations while constantly considering the impact any
changes to the library will send cascading through the community.
As changes are made to React and related tools, sometimes there are
breaking changes. In fact, future versions of these tools may break
some of the example code in this book. You can still follow along with
the code samples. We’ll provide exact version information in the
package.json file so that you can install these packages at the correct
version.
Beyond this book, you can stay on top of changes by following along
with the official React blog. When new versions of React are released,
the core team will write a detailed blog post and changelog about
what’s new. The blog has also been translated into an ever-expanding
list of languages, so if English isn’t your native language, you can find
localized versions of the docs on the languages page of the docs site.
To install, head over to the GitHub repository. There, you’ll find links
to the Chrome and Firefox extensions.
Once installed, you’ll be able to see which sites are using React.
Anytime the React icon is illuminated in the browser toolbar as shown
in Figure 1-1, you’ll know that the site has React on the page.
Another random document with
no related content on Scribd:
PLATE XXXIII.
PAIR OF COTTAGES.
SEE PAGE 38.
FRONT ELEVATION
GROUND PLAN
BEDROOM PLAN
PLATE XXXIV.
PAIR OF COTTAGES.
SEE PAGE 40.
PLATE XXXV.
PAIR OF COTTAGES.
PLATE XXXV.
PAIR OF COTTAGES.
SEE PAGE 41.
PLATES XXXVI., XXXVII., AND XXXVIII.
SINGLE COTTAGE.
FRONT ELEVATION
SIDE ELEVATION
GROUND PLAN
BEDROOM PLAN
PLATE XXXVI.
SINGLE COTTAGE.
SEE PAGE 42.
FRONT ELEVATION
BACK ELEVATION
GROUND PLAN
BEDROOM PLAN
PLATE XXXIX.
SINGLE COTTAGE.
SEE PAGE 44.
Plates xli. and xlii. show the staircase and dining room
respectively.
PLATE XLI.
STAIRCASE OF SINGLE COTTAGE.
SEE PAGE 44.
PLATE XLII.
DINING ROOM—SINGLE COTTAGE.
SEE PAGE 44.
D E S C R I P T I O N S O F P L AT E S
X L I I I . A N D X L I V.
PLATES XLIII. AND XLIV.
SINGLE COTTAGE.
FRONT ELEVATION
BACK ELEVATION
GROUND PLAN
BEDROOM PLAN
PLATE XLIII.
SINGLE COTTAGE.
SEE PAGE 46.
Plates xliii. and xliv. show the plan and view respectively of
another type of single cottage, with the following accommodation:—
Ground Floor.
Dining Room, 13 ft. × 19 ft., and small alcove. Drawing Room, 13 ft. × 16 ft. 6
ins., and bay. Kitchen, 9 ft. 6 ins. × 15 ft.
Scullery, 8 ft. 6 ins. × 9 ft. 4 ins. Larder, Coals, Ashes, w.c., and Enclosed
Yard.
Bedroom Floor.
First Bedroom, 13 ft. × 13 ft. 4 ins. Second Bedroom, 12 ft. × 13 ft., and large
bay. Third Bedroom, 9 ft. 6 ins. × 12 ft. Fourth Bedroom, 8 ft. 6 ins. × 13 ft. 4
ins. Bathroom, with Lavatory and w.c. Large Attic, extending over almost the
whole of the four rooms.
Total cost, in 1904, £640. Cubical contents, 25,077 ft. at 6⅛d. per
ft. cube = £640.
PLATE XLIV.
SINGLE COTTAGE.
SEE PAGE 46.
BEDROOM PLAN
GROUND PLAN
PLATE XLV.
PAIR OF COTTAGES.
SEE PAGE 47.