Full Download pdf of (eBook PDF) Learning React: Modern Patterns for Developing React Apps 2nd Edition all chapter

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 43

(eBook PDF) Learning React: Modern

Patterns for Developing React Apps


2nd Edition
Go to download the full and correct content document:
https://ebooksecure.com/product/ebook-pdf-learning-react-modern-patterns-for-devel
oping-react-apps-2nd-edition/
More products digital (pdf, epub, mobi) instant
download maybe you interests ...

Learning React: Modern Patterns for Developing React


Apps, 2nd Edition (eBook PDF)

http://ebooksecure.com/product/learning-react-modern-patterns-
for-developing-react-apps-2nd-edition-ebook-pdf/

(eBook PDF) Instructional Patterns: Strategies for


Maximizing Student Learning

http://ebooksecure.com/product/ebook-pdf-instructional-patterns-
strategies-for-maximizing-student-learning/

(eBook PDF) Reflections: Patterns for Reading and


Writing 2nd Edition

http://ebooksecure.com/product/ebook-pdf-reflections-patterns-
for-reading-and-writing-2nd-edition/

(eBook PDF) Patterns of Modern Chinese History by


Charles A. Desnoyers

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/

(Original PDF) Learning for Teaching, Teaching for


Learning with Student Resour

http://ebooksecure.com/product/original-pdf-learning-for-
teaching-teaching-for-learning-with-student-resour/

(eBook PDF) Developing Content Area Literacy: 40


Strategies for Middle and Secondary Classrooms 2nd
Edition

http://ebooksecure.com/product/ebook-pdf-developing-content-area-
literacy-40-strategies-for-middle-and-secondary-classrooms-2nd-
edition/

Business Communication: Developing Leaders for a


Networked World 2nd Edition Peter W. Cardon - eBook PDF

https://ebooksecure.com/download/business-communication-
developing-leaders-for-a-networked-world-ebook-pdf/

(eBook PDF) Patterns of World History Combined Volume


2nd edition

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

i. Create React App and Testing


f. Testing React Components
i. Queries
ii. Testing Events
iii. Using Code Coverage
12. 11. React Router
a. Incorporating the Router
b. Router Properties
i. Nesting Routes
c. Using Redirects
i. Routing Parameters
13. 12. React and the Server
a. Isomorphic Versus Universal
i. Client and Server Domains
b. Server Rendering React
c. Server Rendering with Next.js
d. Gatsby
e. React in the Future
14. Index
Learning React
SECOND EDITION

Modern Patterns for Developing React Apps

Alex Banks and Eve Porcello


Learning React

by Alex Banks and Eve Porcello

Copyright © 2020 Alex Banks and Eve Porcello. All rights reserved.

Printed in the United States of America.

Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North,


Sebastopol, CA 95472.

O’Reilly books may be purchased for educational, business, or sales


promotional use. Online editions are also available for most titles
(http://oreilly.com). For more information, contact our
corporate/institutional sales department: 800-998-9938 or
corporate@oreilly.com.

Acquisitions Editor: Jennifer Pollock

Development Editor: Angela Rufino

Production Editor: Kristen Brown

Copyeditor: Holly Bauer Forsyth

Proofreader: Abby Wheeler

Indexer: Judith McConville

Interior Designer: David Futato

Cover Designer: Karen Montgomery


Illustrator: Rebecca Demarest

May 2017: First Edition


June 2020: Second Edition
Revision History for the Second Edition
2020-06-12: First Release

See http://oreilly.com/catalog/errata.csp?isbn=9781492051725 for


release details.

The O’Reilly logo is a registered trademark of O’Reilly Media, Inc.


Learning React, the cover image, and related trade dress are trademarks
of O’Reilly Media, Inc.

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.

You’ll be better prepared for the contents of the book if you’re


comfortable with HTML, CSS, and JavaScript. It’s almost always best
to be comfortable with these big three before diving into a JavaScript
library.

Along the way, check out the GitHub repository. All of the examples
are there and will allow you to practice hands-on.

Conventions Used in This Book


The following typographical conventions are used in this book:

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.

Constant width bold


Shows commands or other text that should be typed literally by the
user.

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.

If you have a technical question or a problem using the code examples,


please send email to bookquestions@oreilly.com.

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.

We appreciate, but generally do not require, attribution. An attribution


usually includes the title, author, publisher, and ISBN. For example:
“Learning React by Alex Banks and Eve Porcello (O’Reilly).
Copyright 2020 Alex Banks and Eve Porcello, 978-1-492-05172-5.”

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.

O’Reilly Online Learning


NOTE
For more than 40 years, O’Reilly Media has provided technology and business
training, knowledge, and insight to help companies succeed.

Our unique network of experts and innovators share their knowledge


and expertise through books, articles, and our online learning platform.
O’Reilly’s online learning platform gives you on-demand access to live
training courses, in-depth learning paths, interactive coding
environments, and a vast collection of text and video from O’Reilly
and 200+ other publishers. For more information, visit
http://oreilly.com.

How to Contact Us
Please address comments and questions concerning this book to the
publisher:

O’Reilly Media, Inc.

1005 Gravenstein Highway North

Sebastopol, CA 95472

800-998-9938 (in the United States or Canada)

707-829-0515 (international or local)

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.

Email bookquestions@oreilly.com to comment or ask technical


questions about this book.

For news and information about our books and courses, visit
http://oreilly.com.

Find us on Facebook: http://facebook.com/oreilly

Follow us on Twitter: http://twitter.com/oreillymedia

Watch us on YouTube: http://www.youtube.com/oreillymedia

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.

We’d also like to acknowledge Coffee Connexion in Tahoe City,


California, for giving us the coffee we needed to finish this book, and
its owner, Robin, who gave us the timeless advice: “A book on
programming? Sounds boring!”
Chapter 1. Welcome to React

What makes a JavaScript library good? Is it the number of stars on


GitHub? The number of downloads on npm? Is the number of tweets
that ThoughtLeaders™ write about it on a daily basis important? How
do we pick the best tool to use to build the best thing? How do we
know it’s worth our time? How do we know it’s good?

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.

As React approaches a decade of use, a lot of teams decided that it’s


good because they gave it five minutes. We’re talking Uber, Twitter,
Airbnb, and Twitter—huge companies that tried React and realized that
it could help teams build better products faster. At the end of the day,
isn’t that what we’re all here for? Not for the tweets. Not for the stars.
Not for the downloads. We’re here to build cool stuff with tools that
we like to use. We’re here for the glory of shipping stuff that we’re
proud to say we built. If you like doing those types of things, you’ll
probably like working with React.

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.

We hope to get you up to speed with the React ecosystem faster by


approaching it this way—not just to scratch the surface, but to equip
you with the tools and skills necessary to build real-world React
applications.

React’s Past and Future


React was first created by Jordan Walke, a software engineer at
Facebook. It was incorporated into Facebook’s newsfeed in 2011 and
later on Instagram when it was acquired by Facebook in 2012. At
JSConf 2013, React was made open source, and it joined the crowded
category of UI libraries like jQuery, Angular, Dojo, Meteor, and others.
At that time, React was described as “the V in MVC.” In other words,
React components acted as the view layer or the user interface for your
JavaScript applications.
From there, community adoption started to spread. In January 2015,
Netflix announced that they were using React to power their UI
development. Later that month, React Native, a library for building
mobile applications using React, was released. Facebook also released
ReactVR, another tool that brought React to a broader range of
rendering targets. In 2015 and 2016, a huge number of popular tools
like React Router, Redux, and Mobx came on the scene to handle tasks
like routing and state management. After all, React was billed as a
library: concerned with implementing a specific set of features, not
providing a tool for every use case.

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.

More recently in 2019, we saw the release of Hooks, a new way of


adding and sharing stateful logic across components. We also saw the
release of Suspense, a way to optimize asynchronous rendering with
React.

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.

Learning React: Second Edition Changes


This is the second edition of Learning React. We felt it was important
to update the book because React has evolved quite a bit over the past
few years. We intend to focus on all the current best practices that are
advocated by the React team, but we’ll also share information about
deprecated React features. There’s a lot of React code that was written
years ago using old styles that still works well and must be maintained.
In all cases, we’ll make mention of these features in a sidebar in case
you find yourself working with legacy React applications.

Working with the Files


In this section, we’ll discuss how to work with the files for this book
and how to install some useful React tools.
File Repository
The GitHub repository associated with this book provides all the code
files organized by chapter.

React Developer Tools


We’d highly recommend installing React Developer Tools to support
your work on React projects. These tools are available as a browser
extension for Chrome and Firefox and as a standalone app for use with
Safari, IE, and React Native. Once you install the dev tools, you’ll be
able to inspect the React component tree, view props and state details,
and even view which sites are currently using React in production.
These are really useful when debugging and when learning about how
React is used in other projects.

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.

An example of a pair of cottages treated in the Dutch style.


D E S C R I P T I O N O F P L AT E S
X X X I V. A N D X X X V.
PLATE XXXIV.
PAIR OF COTTAGES.

FRONT ELEVATION
GROUND PLAN
BEDROOM PLAN
PLATE XXXIV.
PAIR OF COTTAGES.
SEE PAGE 40.

The accommodation of the pair of cottages shown in this plate is as


follows:—
Ground Floor.
Parlour, 11 ft. 4 ins. × 13 ft. 6 ins., and bay. Living room, 11 ft. 6 ins. × 14 ft. 5
ins. (French Windows). Kitchen, 10 ft. 8 ins. × 12 ft. 3 ins. Larder. Porch, Hall,
and Clock Space under stairs. Tools, w.c., and Coals (Enclosed yard).
Bedroom Floor.
First Bedroom, 11 ft. 4 ins. × 13 ft. 6 ins. Second Bedroom, 11 ft. 6 ins. × 14 ft. 5
ins. Third Bedroom, 8 ft. 6 ins. × 10 ft. 8 ins. Bath Room (hot and cold water).
Height of rooms: Ground floor, 8 ft. 9 ins.; first floor, 8 ft. 6 ins.
Total cost, including all extras, £375 per cottage.
Laying out of gardens, £12 10s. each.
Cubical contents, 34,285 ft., at 5¼d. per foot cube = £375 per
cottage. (Built in 1903.)
Materials.—Whitewashed common bricks are here used.
Whitewash is cheap and may be used very effectively, especially
where there are trees in the background. The roofs and dormers are
hipped, and covered with Welsh green slates and blue half-round
ridges; the chimney pots are buff-colour.
Sills.—The sills, as in many of the other houses, are formed of
calf-nosed bricks set on edge in cement, with two courses of tiles
beneath, which form a drip under the sill, and with a backing of slate in
cement. By bringing the window-frame forward to reduce the size of
the top of the sill, damp and the driving in of rain are prevented. This
makes an inexpensive sill, and adds to the homely appearance of the
cottage.
Interior Wall Decoration.—The interior wall decoration is
Duresco throughout. Plain ingrain paper, of which there is a number of
very cheap kinds now on the market, might be used with a frieze. A
good effect is obtained by bringing down the white from the ceiling as
far as the picture rail, which gives light to the room and improves its
proportions.
The exterior woodwork is painted a Verona green.
Fireplaces.—Fireplaces suitable for this or any of the six-roomed
cottages are as follows:—
Front Room: interior grate, slabbed surrounds, tiled hearth, and white wood
chimney piece. Living Room: iron tiled mantel-sham. Kitchen: 3 ft. range with
white tiled coves and York stone shelf and trusses. Front Bedroom: 30 in.
mantel-sham and tiled hearth. Back Bedrooms: 24 in. mantel-sham and tiled
hearth.
The total cost of the whole should not amount to more than £12.
The scullery is lengthened by a projection in the nature of a bay.
The outbuildings, which are carried to right and left of the pair, give
privacy to the garden near to the houses.

PLATE XXXV.
PAIR OF COTTAGES.

This plate illustrates one of several different treatments of the last


plan.

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.

Plate xxxvi. gives the plan of a single cottage occupying a corner


site. It contains:—
Ground Floor.
Drawing Room, 12 ft. 6 ins. × 13 ft. 6 ins., and bay. Dining Room, 13 ft. × 13 ft.,
and bay (French casements). Kitchen, 10 ft. × 11 ft. Scullery, 8 ft. × 10 ft. Larder.
Porch and Hall, with Cloak Space under stairs. Coals, Tools, and w.c.
Bedroom Floor.
First Bedroom, 13 ft. 6 ins. × 15 ft. 9 ins. Second Bedroom, 11 ft. 6 ins. × 13 ft.
Third Bedroom, 10 ft. × 13 ft. Dressing Room. Cupboards. Bathroom, with w.c.
and Lavatory (hot and cold water).
As will be seen, there is very little space wasted in the planning of
the rooms.
The whole of the exterior is rough-cast. The front bedroom is
enlarged and projects over the ground floor, giving a pleasant shade
to the lower portion of the elevation, while the roof is continued over
one side and carried down to form the porch. The gable is of half-
timber framing.
The roof is covered with Hartshill hand-made tiles, which, while
richly toning and colouring, have admirably stood the test of several
years’ hard weather, and have proved much more durable than the
pressed tile used for some of the other cottages at Bournville.
The plan of the cottage might be simplified by gabling back and
front, the roof thus covering the whole building, and having no valleys.
The bedroom accommodation could be then increased by the addition
of attics.
Two views of the actual example appear in Plates xxxvii. and
xxxviii.
PLATE XXXVII.
SINGLE COTTAGE.
SEE PAGE 42.
PLATE XXXVIII.
SINGLE COTTAGE.
SEE PAGE 42.
D E S C R I P T I O N S O F P L AT E S
XXXIX.-XLII.
PLATES XXXIX., XL., XLI., AND XLII.
SINGLE COTTAGE.

FRONT ELEVATION
BACK ELEVATION
GROUND PLAN
BEDROOM PLAN
PLATE XXXIX.
SINGLE COTTAGE.
SEE PAGE 44.

Another single cottage has accommodation as follows:—


Ground Floor.
Living Room, including roomy alcove, 13 ft. 5 ins. × 15 ft. 6 ins. Kitchen, 10 ft. ×
13 ft. 5 ins. Scullery, Larder, Tools, w.c., Coals, and Enclosed Yard.
Bedroom Floor.
First Bedroom, 13 ft. 5 ins. × 15 ft. 6 ins. Second Bedroom, 10 ft. × 13 ft. 5 ins.
Third Bedroom, 9 ft. 6 ins. × 9 ft. 6 ins. Bathroom (hot and cold water) and w.c.
Spacious Attic (shown by dotted lines) and Boxrooms.
Total cost, in 1903, £540.
Cubical contents, 19,938 ft., at 6½d. per ft. cube, £540.
By hanging a curtain, the alcove shown in the plan may be made
private for writing or studying, if required. It may also be used for
meals; and if a door communicates with the hall, the table may be laid
by the maid unseen by the visitor, and the curtains afterwards drawn
apart. Thus one of the disadvantages urged against the larger-sized
houses with one large living room may be overcome.
Materials.—The cottage is built of whitewashed common bricks,
with tarred plinth, the roof being covered with Peake’s dark brindled
hand-made roofing tiles. It is without decoration, apart from what is
afforded by the semicircular hood over the front door, the wrought-iron
brackets supporting the gutters, and at the back a semicircular arch to
give importance to the living room. There are shutters to all the ground
floor windows, which are made to bolt from within.
The view shown in Plate xl. is of the back.
PLATE XL.
SINGLE COTTAGE BACK.
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.

By the arrangement of the stairs it will be noticed that additional


space is secured to the dining room, forming a pleasant arched
alcove.
Materials.—The materials used are brindled bricks, Peake’s
hand-made roofing tiles, hips and ridges covered with half-round
ridge-tiles, 6 in. half-round spouts with ornamental stays, projecting
hood of timber, covered with lead and supported by two wrought-iron
stays, red tall-boy chimney pots, doors painted Suffield green,
window sashes and frames ivory white, and eaves, gutters and
down-spouts lead colour.
PLATES XLV., XLVI., AND XLVII.
PAIR OF THREE-STOREY COTTAGES.

BEDROOM PLAN
GROUND PLAN
PLATE XLV.
PAIR OF COTTAGES.
SEE PAGE 47.

You might also like