SlideShare a Scribd company logo
React 18 Design Patterns And Best Practices
Fourth Edition Early Access 4 Converted
Anonymous download
https://ebookbell.com/product/react-18-design-patterns-and-best-
practices-fourth-edition-early-access-4-converted-
anonymous-55132010
Explore and download more ebooks at ebookbell.com
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
React 18 Design Patterns And Best Practices Design Build And Deploy
Productionready Web Applications With React By Leveraging Industrybest
Practices 4th Edition Carlos Santana Roldn
https://ebookbell.com/product/react-18-design-patterns-and-best-
practices-design-build-and-deploy-productionready-web-applications-
with-react-by-leveraging-industrybest-practices-4th-edition-carlos-
santana-roldn-51260006
React 18 Design Patterns And Best Practices 4 Converted Carlos Santana
Roldn
https://ebookbell.com/product/react-18-design-patterns-and-best-
practices-4-converted-carlos-santana-roldn-56426994
Building Micro Frontends With React 18 Develop And Deploy Scalable
Applications Using Micro Frontend Strategies 1st Edition Vinci J Rufus
https://ebookbell.com/product/building-micro-frontends-with-
react-18-develop-and-deploy-scalable-applications-using-micro-
frontend-strategies-1st-edition-vinci-j-rufus-53166544
Building Micro Frontends With React 18 Vinci J Rufus
https://ebookbell.com/product/building-micro-frontends-with-
react-18-vinci-j-rufus-55335034
Building Micro Frontends With React 18 Vinci J Rufus
https://ebookbell.com/product/building-micro-frontends-with-
react-18-vinci-j-rufus-56504760
Learn React With Typescript A Beginners Guide To Reactive Web
Development With React 18 And Typescript 2nd Edition 2nd Carl Rippon
https://ebookbell.com/product/learn-react-with-typescript-a-beginners-
guide-to-reactive-web-development-with-react-18-and-typescript-2nd-
edition-2nd-carl-rippon-47936932
Medical Billing Coding 20232024 Study Guide Reach Your Goal Includes
Legal Guidelines Qa Terminology Extra Content May 18
20239798394218934pdf Rory George
https://ebookbell.com/product/medical-billing-coding-20232024-study-
guide-reach-your-goal-includes-legal-guidelines-qa-terminology-extra-
content-may-18-20239798394218934pdf-rory-george-60654260
React Quickly Second Edition Meap V8 2nd Morten Barklund Azat Mardan
https://ebookbell.com/product/react-quickly-second-edition-
meap-v8-2nd-morten-barklund-azat-mardan-46594468
React Application Architecture For Production Learn Best Practices And
Expert Tips To Deliver Enterpriseready React Web Apps 1st Edition Alan
Alickovic
https://ebookbell.com/product/react-application-architecture-for-
production-learn-best-practices-and-expert-tips-to-deliver-
enterpriseready-react-web-apps-1st-edition-alan-alickovic-47582322
React 18 Design Patterns And Best Practices Fourth Edition Early Access 4 Converted Anonymous
React 18 Design Patterns And Best Practices Fourth Edition Early Access 4 Converted Anonymous
React 18 Design Patterns
and Best Practices
Copyright © 2022 Packt Publishing
All rights reserved. No part of this book may be
reproduced, stored in a retrieval system, or transmitted
in any form or by any means, without the prior written
permission of the publisher, except in the case of brief
quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this
book to ensure the accuracy of the information
presented. However, the information contained in this
book is sold without warranty, either express or implied.
Neither the author, nor Packt Publishing, and its dealers
and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by
this book.
Packt Publishing has endeavored to provide trademark
information about all of the companies and products
mentioned in this book by the appropriate use of
capitals. However, Packt Publishing cannot guarantee
the accuracy of this information.
Early Access Publication: React 18 Design Patterns
and Best Practices
Early Access Production Reference: B18414
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK
ISBN: 978-1-80323-310-9
www.packt.com
Table of Contents
1. React 18 Design Patterns and Best Practices, Fourth
Edition: Design, build, and deploy production-ready
web applications with ease and create powerful user
experiences
2. 1 Taking Your First Steps with React
I. Join our book community on Discord
II. Technical requirements
III. Differentiating between declarative and
imperative programming
IV. How React elements work
V. Unlearning everything
VI. Understanding JavaScript fatigue
VII. Summary
3. 2 Introducing TypeScript
I. Join our book community on Discord
II. Technical requirements
i. TypeScript features
ii. Converting JavaScript code into TypeScript
iii. Types
iv. Interfaces
v. Template Literals
vi. TypeScript Configuration File
III. Summary
4. 3 Cleaning Up Your Code
I. Join our book community on Discord
II. Technical requirements
III. Using JSX
i. Babel 7
ii. Creating our first element
iii. DOM elements and React components
iv. Props
v. Children
vi. Differences with HTML
vii. Spread attributes
viii. Template literals
ix. Common patterns
IV. Styling code
i. EditorConfig
ii. Prettier
iii. ESLint
V. Functional programming
i. First-class functions
ii. Purity
iii. Immutability
iv. Currying
v. Composition
VI. Summary
5. 4 Exploring Popular Composition Patterns
I. Join our book community on Discord
II. Technical requirements
III. Communicating components
i. Using the children prop
IV. Exploring the container and presentational
patterns
V. Understanding HOCs
VI. Understanding FunctionAsChild
VII. Summary
6. 5 Writing Code for the Browser
I. Join our book community on Discord
II. Technical requirements
III. Understanding and implementing forms
i. Uncontrolled components
ii. Controlled components
IV. Handling events
V. Exploring refs
VI. Implementing animations
i. React Motion
VII. Exploring SVG
VIII. Summary
7. 6 Making Your Components Look Beautiful
I. Join our book community on Discord
II. Technical requirements
III. CSS in JavaScript
IV. Understanding and implementing inline styles
V. Exploring the Radium library
VI. Using CSS modules
i. Webpack 5
ii. Setting up a project
iii. Locally scoped CSS
iv. Atomic CSS modules
VII. Implementing styled-components
VIII. Summary
8. 7 Anti-Patterns to Be Avoided
I. Join our book community on Discord
II. Technical requirements
III. Initializing the state using properties
IV. Using indexes as a key
V. Spreading properties on DOM elements
VI. Summary
9. 8 React Hooks
I. Join our book community on Discord
II. Technical requirements
III. Introducing React Hooks
i. No breaking changes
ii. Using the State Hook
iii. Rules of Hooks
IV. Migrating a class component to React Hooks
V. Understanding React effects
i. Understanding useEffect
ii. Firing an effect conditionally
VI. Understanding useCallback, useMemo, and
memo
i. Memoizing a component with memo
ii. Memoizing a value with useMemo
iii. Memoizing a function definition with
useCallback
iv. Memoizing function passed as an argument
in effect
VII. Understanding the useReducer Hook
VIII. Summary
10. 9 React Router
I. Join our book community on Discord
II. Technical requirements
III. Installing and configuring React Router
IV. Creating our sections
V. Adding parameters to the routes
VI. Summary
React 18 Design Patterns
and Best Practices, Fourth
Edition: Design, build, and
deploy production-ready
web applications with ease
and create powerful user
experiences
Welcome to Packt Early Access. We’re giving you an
exclusive preview of this book before it goes on sale. It
can take many months to write a book, but our authors
have cutting-edge information to share with you today.
Early Access gives you an insight into the latest
developments by making chapter drafts available. The
chapters may be a little rough around the edges right
now, but our authors will update them over time.
You can dip in and out ofthis bookorfollow alongfrom
start to finish; Early Access is designed to be flexible. We
hope you enjoy getting to know more about the process
of writing a Packt book.
1. Chapter 1: Taking Your First Steps with React
2. Chapter 2: Introduction to TypeScript
3. Chapter 3: Cleaning Up Your Code
4. Chapter 4: Exploring Popular Composition Patterns
5. Chapter 5: Writing Code for the Browser
6. Chapter 6: Making Your Components Look Beautiful
7. Chapter 7: Anti-Patterns to Be Avoided
8. Chapter 8: React Hooks
9. Chapter 9: React Router
10. Chapter 10: React 18 New Features (New Chapter)
11. Chapter 11: Node 18 New Features (New Chapter)
12. Chapter 12: Managing Data
13. Chapter 13: Server-Side Rendering for Fun and
Profit
14. Chapter 14: Understanding GraphQL with a Real
Project
15. Chapter 15: MonoRepo Architecture (New Chapter)
16. Chapter 16: Improving the Performance of Your
Applications
17. Chapter 17: Testing and Debugging
18. Chapter 18: Deploying to Production
1 Taking Your First Steps with React
Join our book community on Discord
https://packt.link/EarlyAccess
Hello, readers!
This book assumes that you already know what React is and what problems it can solve for
you. You may have written a small/medium application with React, and you want to
improve your skills and answer all of your open questions. You should know that React is
maintained by the developers at Meta and hundreds of contributors within the JavaScript
community. React is one of the most popular libraries for creating UIs, and it is well known
to be fast, thanks to its smart way of working with the Document Object Model (DOM).
It comes with JSX, a new syntax for writing markup in JavaScript, which requires you to
change your thinking regarding the separation of concerns. It has many cool features, such
as server-side rendering, which gives you the power to write universal applications.
In this first chapter, we will go through some basic concepts that are essential to master in
order to use React effectively, but are straightforward enough for beginners to figure out:
The difference between imperative and declarative programming
React components and their instances, and how React uses elements to control the UI
flow
How React changed the way we build web applications, enforcing a different new
concept of separation of concerns, and the reasons behind its unpopular design choice
Why people feel JavaScript fatigue, and what you can do to avoid the most common
errors developers make when approaching the React ecosystem
Technical requirements
In order to follow this book, you need to have some minimal experience using the terminal
to run a few Unix commands. Also, you need to install Node.js. You have two options. The
first one is to download Node.js directly from the official website, https://nodejs.org, and
the second option (recommended) is to install Node Version Manager (NVM) from
https://github.com/nvm-sh/nvm.
If you decide to go with NVM, you can install any version of Node.js you want and switch
the versions with the nvm install command:
# "node" is an alias for the latest version:
nvm install node
# You can also install a global version of node (will install the latest from that versio
nvm install 16
nvm install 15
nvm install 14
nvm install 13
nvm install 12
# Or you can install a very specific version:
nvm install 12.14.3
After you have installed the different versions, you can switch them by using the nvm use
command:
nvm use node # for latest version
nvm use 16 # for the latest version of node 16.X.X
nvm use 12.14.3 # Specific version
Finally, you can specify a default node version by running the following command:
nvm alias default node
nvm alias default 16
nvm alias default 12.14.3
In short, here is a list of the requirements to complete the chapter:
Node.js (18+): https://nodejs.org
NVM: https://github.com/nvm-sh/nvm
VS Code: https://code.visualstudio.com
TypeScript: https://www.npmjs.com/package/typescript
You can find the codes in the book’s GitHub repository:
https://github.com/PacktPublishing/React-17-Design-Patterns-and-Best-Practices-Third-
Edition.
Differentiating between declarative and imperative programming
When reading the React documentation or blog posts about React, you will have
undoubtedly come across the term declarative. One of the reasons why React is so
powerful is that it enforces a declarative programming paradigm.
Therefore, to master React, it is essential to understand what declarative programming
means and what the main differences between imperative and declarative programming
are. The easiest way to approach this is to think about imperative programming as a way of
describing how things work, and declarative programming as a way of describing what you
want to achieve.
Entering a bar for a beer is a real-life example in the imperative world, where normally you
will give the following instructions to the bartender:
1. Find a glass and collect it from the shelf.
2. Place the glass under the tap.
3. Pull down the handle until the glass is full.
4. Hand me the glass.
In the declarative world, you would just say “Can I have a beer, please?”
The declarative approach assumes that the bartender already knows how to serve a beer,
an important aspect of the way declarative programming works.
Let’s move into a JavaScript example. Here we will write a simple function that, given an
array of lowercase strings, returns an array with the same strings in uppercase:
toUpperCase(['foo', 'bar']) // ['FOO', 'BAR']
An imperative function to solve the problem would be implemented as follows:
const toUpperCase = input => {
const output = []
for (let i = 0; i < input.length; i++) {
output.push(input[i].toUpperCase())
}
return output
}
First of all, an empty array to contain the result is created. Then, the function loops
through all the elements of the input array and pushes the uppercase values into the empty
array. Finally, the output array is returned.
A declarative solution would be as follows:
const toUpperCase = input => input.map(value => value.toUpperCase())
The items of the input array are passed to a map function that returns a new array
containing the uppercase values. There are some significant differences to note: the former
example is less elegant and it requires more effort to be understood. The latter is terser and
easier to read, which makes a huge difference in big code bases, where maintainability is
crucial.
Another aspect worth mentioning is that in the declarative example, there is no need to use
variables, nor to keep their values updated during the execution. Declarative programming
tends to avoid creating and mutating a state.
As a final example, let’s see what it means for React to be declarative. The problem we will
try to solve is a common task in web development: creating a toggle button.
Imagine a simple UI component such as a toggle button. When you click it, it turns green
(on) if it was previously gray (off), and switches to gray (off) if it was previously green (on).
The imperative way of doing this would be as follows:
const toggleButton = document.querySelector('#toggle')
toogleButton.addEventListener('click', () => {
if (toggleButton.classList.contains('on')) {
toggleButton.classList.remove('on')
toggleButton.classList.add('off')
} else {
toggleButton.classList.remove('off')
toggleButton.classList.add('on')
}
})
It is imperative because of all the instructions needed to change the classes. In contrast, the
declarative approach using React would be as follows:
// To turn on the Toggle
<Toggle on />
// To turn off the toggle
<Toggle />
In declarative programming, developers only describe what they want to achieve, and
there’s no need to list all the steps to make it work. The fact that React offers a declarative
approach makes it easy to use, and consequently, the resulting code is simple, which often
leads to fewer bugs and more maintainability.
In the next section, you will learn how React elements work and you will get more context
on how props are being passed on a React component.
How React elements work
This book assumes that you are familiar with components and their instances, but there is
another object you should know about if you want to use React effectively – the element.
Whenever you call createClass , extend Component , or declare a stateless function, you are
creating a component. React manages all the instances of your components at runtime, and
there can be more than one instance of the same component in memory at a given point in
time.
As mentioned previously, React follows a declarative paradigm, and there’s no need to tell
it how to interact with the DOM; you declare what you want to see on the screen, and React
does the job for you.
As you might have already experienced, most other UI libraries work the other way round:
they leave the responsibility of keeping the interface updated to the developer, who has to
manage the creation and destruction of the DOM elements manually.
To control the UI flow, React uses a particular type of object, called an element, which
describes what has to be shown on the screen. These immutable objects are much simpler
compared to the components and their instances and contain only the information that is
strictly needed to represent the interface.
The following is an example of an element:
{
type: Title,
props: {
color: 'red',
children: 'Hello, Title!'
}
}
Elements have type , which is the most important attribute, and some properties. There is
also a particular property, called children , that is optional and represents the direct
descendant of the element.
type is important because it tells React how to deal with the element itself. If type is a
string, the element represents a DOM node, while if type is a function, the element is a
component.
DOM elements and components can be nested with each other as follows, to represent the
render tree:
{
type: Title,
props: {
color: 'red',
children: {
type: 'h1',
props: {
children: 'Hello, H1!'
}
}
}
}
When the type of the element is a function, React calls the function, passing props to get
back the underlying elements. It keeps on performing the same operation recursively on
the result until it gets a tree of DOM nodes that React can render on the screen. This
process is called reconciliation, and it is used by both React DOM and React Native to
create the UIs of their respective platforms.
React is a game-changer, so at the beginning, the React syntax might seem weird to you,
but once you understand how it works, you will love it, and for this, you need to unlearn
everything you know so far.
Unlearning everything
Using React for the first time usually requires an open mind because it is a new way of
designing web and mobile applications. React tries to innovate the way we build UIs
following a path that breaks most of the well-known best practices.
In the last two decades, we learned that the separation of concerns is important, and we
used to think about it as separating the logic from the templates. Our goal has always been
to write the JavaScript and the HTML in different files. Various templating solutions have
been created to help developers achieve this.
The problem is that most of the time, that kind of separation is just an illusion and the
truth is that the JavaScript and the HTML are tightly coupled, no matter where they live.
Let’s see an example of a template:
{{#items}}
{{#first}}
<li><strong>{{name}}</strong></li>
{{/first}}
{{#link}}
<li><a href="{{url}}">{{name}}</a></li>
{{/link}}
{{/items}}
The preceding snippet is taken from the Mustache website, one of the most popular
templating systems.
The first row tells Mustache to loop through a collection of items. Inside the loop, there is
some conditional logic to check whether the #first and #link properties exist and,
depending on their values, a different piece of HTML is rendered. Variables are wrapped in
curly braces.
If your application only has to display some variables, a templating library could represent
a good solution, but when it comes to starting to work with complex data structures, things
change. Templating systems and their Domain-Specific Language (DSL) offer a subset
of features, and they try to provide the functionalities of a real programming language
without reaching the same level of completeness. As shown in the example, templates
highly depend on the models they receive from the logic layer to display the information.
On the other hand, JavaScript interacts with the DOM elements rendered by the templates
to update the UI, even if they are loaded from separate files. The same problem applies to
styles – they are defined in a different file, but they are referenced in the templates, and the
CSS selectors follow the structure of the markup, so it is almost impossible to change one
without breaking the other, which is the definition of coupling. That is why the classic
separation of concerns ended up being more the separation of technologies, which is, of
course, not a bad thing, but it doesn’t solve any real problems.
React tries to move a step forward by putting the templates where they belong – next to the
logic. The reason it does that is that React suggests you organize your applications by
composing small bricks called components. The framework should not tell you how to
separate the concerns because every application has its own, and only the developers
should decide how to limit the boundaries of their applications.
The component-based approach drastically changes the way we write web applications,
which is why the classic concept of separation of concerns is gradually being taken over by
a much more modern structure. The paradigm enforced by React is not new, and it was not
invented by its creators, but React has contributed to making the concept mainstream and,
most importantly, popularized it in such a way that it is easier to understand for developers
with different levels of expertise.
Rendering of a React component looks like this:
return (
<button style={{ color: 'red' }} onClick={this.handleClick}>
Click me!
</button>
)
We all agree that it seems a bit weird in the beginning, but that is just because we are not
used to that kind of syntax. As soon as we learn it and we realize how powerful it is, we
understand its potential. Using JavaScript for both logic and templating not only helps us
separate our concerns in a better way, but it also gives us more power and more
expressivity, which is what we need to build complex UIs.
That is why even if the idea of mixing JavaScript and HTML sounds weird in the beginning,
it is vital to give React 5 minutes. The best way to get started with new technology is to try
it on a small side project and see how it goes. In general, the right approach is always to be
ready to unlearn everything and change your mindset if the long-term benefits are worth it.
There is another concept that is pretty controversial and hard to accept, and that the
engineers behind React are trying to push to the community: moving the styling logic
inside the component, too. The end goal is to encapsulate every single technology used to
create our components and separate the concerns according to their domain and
functionalities. Here is an example of a style object taken from the React documentation:
const divStyle = {
color: 'white',
backgroundImage: `url(${imgUrl})`,
WebkitTransition: 'all', // note the capital 'W' here
msTransition: 'all' // 'ms' is the only lowercase vendor prefix
}
ReactDOM.render(<div style={divStyle}>Hello World!</div>, mountNode)
This set of solutions, where developers use JavaScript to write their styles, is known as
#CSSinJS , and we will talk about it extensively in Chapter 8, Making Your Components
Look Beautiful.
In the next section, we will see how to avoid JavaScript fatigue, which is caused by the large
number of configurations that are needed to run a React application (webpack mainly).
Understanding JavaScript fatigue
There is a prevailing opinion that React consists of a vast set of technologies and tools, and
if you want to use it, you are forced to deal with package managers, transpilers, module
bundlers, and an infinite list of different libraries. This idea is so widespread and shared
among people that it has been clearly defined, and has been given the name JavaScript
fatigue.
It is not hard to understand the reasons behind this. All the repositories and libraries in the
React ecosystem are made using shiny new technologies, the latest version of JavaScript,
and the most advanced techniques and paradigms.
Moreover, there is a massive number of React boilerplate on GitHub, each with tens of
dependencies to offer solutions for any problems. It is straightforward to think that all
these tools are required to start using React, but this is far from the truth. Despite this
common way of thinking, React is a pretty tiny library, and it can be used inside any page
(or even inside JSFiddle) in the same way everyone used to use jQuery or Backbone, just by
including the script on the page before the closing body element.
There are two scripts because React is split into two packages:
react : Implements the core features of the library
react-dom : Contains all the browser-related features
The reason behind this is that the core package is used to support different targets, such as
React DOM in browsers and React Native on mobile devices. Running a React application
inside a single HTML page does not require any package manager or complex operation.
You can just download the distribution bundle and host it yourself (or use
https://unpkg.com/), and you are ready to get started with React and its features in a few
minutes.
Here are the URLs to be included in the HTML to start using React:
https://unpkg.com/react@18.2.0/umd/react.production.min.js
https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js
If we add the core React library only, we cannot use JSX because it is not a standard
language supported by the browser; but the whole point is to start with the bare minimum
set of features and add more functionalities as soon as they are needed. For a simple UI, we
could just use createElement ( _jsx since React 17) and only when we start building
something more complex can we include a transpiler to enable JSX and convert it into
JavaScript. As soon as the app grows a bit more, we may need a router to handle different
pages and views, and we can include that as well.
At some point, we may want to load data from some API endpoints, and if the application
keeps growing, we will reach the point where we need some external dependencies to
abstract complex operations. Only at that very moment should we introduce a package
manager. Then, the time will come to split our application into separate modules and
organize our files in the right way. At that point, we should start thinking about using a
module bundler.
Following this simple approach, there’s no fatigue. Starting with a boilerplate that has 100
dependencies and tens of npm packages of which we know nothing is the best way to get
lost. It is important to note that every programming-related job (and frontend engineering
in particular) requires continuous learning. It is the nature of the web to evolve at a
breakneck pace and change according to the needs of both users and developers. This is the
way our environment has worked since the beginning and is what makes it very exciting.
As we gain experience working on the web, we learn that we cannot master everything and
we should find the right way to keep ourselves updated to avoid fatigue. We are able to
follow all the new trends without jumping into the new libraries for the sake of it unless we
have time for a side project.
It is astonishing how, in the JavaScript world, as soon as a specification is announced or
drafted, someone in the community implements it as a transpiler plugin or a polyfill,
letting everyone else play with it while the browser vendors agree and start supporting it.
This is something that makes JavaScript and the browser a completely different
environment compared to any other language or platform. The downside of it is that things
Random documents with unrelated
content Scribd suggests to you:
MRS. T. (aside and looking at ROYSTON). Really a vastly
agreeable young man!
Enter COLONEL at R. H.
COL. So Royston has arrived, has he? (Seeing BASIL.) Heyday!
why, this is Basil—his younger brother!
ROYS. At your service, colonel.
MRS. T. You are acquainted, then?
COL. I was intimate with his mother’s family—indeed, I may say
I was the means of getting him a nomination to the Blue Coat
school.
BART. (aside). This is deuced awkward!
MRS. T. The Blue Coat school? I thought you said Tunbridge
Wells?
ROYS. (recollecting). Yes; that was before—I mean after—
COL. (aside and suspiciously). I suspect these young fellows are
playing some little game of their own; and, what’s more, I can
pretty well guess what it is!
MRS. T. (aside to COLONEL). As Mr. Royston is an entire stranger
to me, may I ask you, Cousin Samuel, what is the opinion you have
formed of him?
COL. Oh! a very charming young man, indeed! Most respectable
family! an ample income already, with great expectations from a
couple of aunts and a godmother! A little wild at present, perhaps,
but he’ll soon settle down when he’s married! Ah! happy the
woman who makes a conquest of such a man! (Aside.) There! now
I’m in the conspiracy too!
MRS. T. (to ROYSTON). Your friend Mr. Barton does not leave
here till to-morrow; you, I hope, will also defer your departure till
then?
BART. (quickly to ROYSTON). Of course you will! (To MRS. T.) Of
course he will! (To ROYSTON.) You’ll be only too delighted! (To MRS.
T.) He’ll be only too delighted!
MRS. T. Ah! here’s my niece! (going up to meet JULIA, who
enters at C.).
ROYS. (seeing JOSEPHINE, who at the same moment enters at
R. H.). Look! what a charming creature!
BART. No, no! it isn’t she! it’s the other! Look there! (pointing to
JULIA). There’s a figure! there’s a symmetry! Look at those finely-
chiselled features!
ROYS. Yes, yes! but still, in my opinion (looking admiringly at
JOSEPHINE)—
BART. Your opinion, indeed! Pshaw! what do you know about it?
JOSEPHINE (aside to COLONEL, and pointing to ROYSTON). What!
has Harry found somebody already?
MRS. T. Julia, my dear, allow me to present Mr. Royston, an old
friend of Mr. Barton’s (JULIA courtesies stiffly to ROYSTON).
BART. (to ROYSTON). There’s a courtesy! that’s what I call a
courtesy!
ROYS. Yes! but, as I said before, of the two I prefer (looking at
JOSEPHINE)—
BART. You prefer, indeed! Surely I must know better than you!
(To JULIA.) My friend Royston, a distinguished amateur of the fine
arts, is in raptures with your sketches, Miss Julia. (JULIA courtesies
stiffly again.)
JOSEPHINE (to JULIA). Why don’t you thank Mr. Royston, sister?
ROYS. (aside to BARTON). Oh! she’s the sister—eh?
BART. (with pretended indifference). Yes, a little, harmless,
insignificant school-girl—
ROYS. Still, I repeat, if I had to choose between them—
BART. Pshaw! my dear fellow, if you only knew what nonsense
you’re talking! (Aside.) Zounds! I hope he isn’t going to fall in love
with Josephine!
COL. Sorry to interrupt, but my time is precious, and business
must be attended to. Mr. Royston, will you step into the dining-
room with your papers? Barton, you’ll come too?
JOSEPHINE (hastily aside to BARTON). I understand it all, Harry. A
very nice young man, indeed! and likely to stand a good chance.
Don’t you think so? Where did you pick him up so soon?
BART. Hush! I’ll explain everything another time.
[COLONEL and MRS. TEMPLETON exeunt at R. H., followed by
BARTON and ROYSTON. ROYSTON stops, turns, and makes a
profound bow to JOSEPHINE. BARTON pushes him out.
JOSEPHINE (aside). I wonder what she thinks of him? (Aloud.) A
very gentlemanly young man, Mr. Royston, don’t you think so,
Julia?
JULIA (indifferently). I scarcely looked at him.
JOSEPHINE (aside). That’s not very encouraging! (Aloud.) How
do you manage to find so many admirers? I can’t!
JULIA (smiling). Hitherto, perhaps, I may have had the lion’s
share of attention, homage, and professed admiration; but your
turn will come.
JOSEPHINE. It’s a long time about it! You are so difficult to
please. And poor Mr. Royston, I suppose, will be snubbed like the
rest!
JULIA (reprovingly). Josephine! surely you don’t imagine—
JOSEPHINE. That there is some attraction for him here? Of
course I do! It can’t be Aunt Martha—nor I! I’m only a child! (with
affected humility).
JULIA. Josephine, you speak as though you were piqued, vexed
—I might almost say envious!
JOSEPHINE. Envious? I? Of what?
JULIA (sighing). Of what, indeed! Ah, dear one, the privileges of
an elder sister are not so enviable after all! What is often her lot?—
to be constantly exposed to flattery—adulation from the lips of
strangers—compelling her to assume an extreme reserve in order
to modify the exaggerated and at times indelicate encomiums of
relatives and friends. What is the necessary result? Doubt, distrust,
suspicion—nay, even prejudice, oftentimes unjust, against those
who profess a desire to please! On this impulse I have acted—an
impulse dictated by self-respect and a due sense of my own
dignity!
JOSEPHINE (aside). What a serious tone! (Aloud.) But just think
how cruelly, how unjustly you may have acted. And I’m sure, as for
Mr. Royston—
JULIA. Mr. Royston again! Silly child!
JOSEPHINE. Child? Perhaps I could mention a little fact that—that
—but I won’t! (Aside.) Good-by to my secret if I did! (Aloud.)
Good-by!
JULIA. Are you going to leave me too?
JOSEPHINE. Haven’t I got to write out all the invitations for our
ball on the 23d?
JULIA. Your birthday?—true.
JOSEPHINE. Yes; that is the professed reason—but of course it is
on your account that it is given.
JULIA (reproachfully). Josephine!
JOSEPHINE. I know a younger sister’s duty, Miss Templeton
(makes a low courtesy and exit L. H.).
JULIA. Josephine! sister!—Did she but know how she misjudges
me! How heavily I have been punished for that pride, that
apparent insensibility, with which she reproaches me! Oh, Harry!
Harry! could you but tell how bitterly I have repented! But surely,
surely the cruel, wicked indifference with which I treated his
affection, his devotion, cannot have entirely destroyed them—some
little spark of the old flame must still remain! else why is he so
constantly here? Why does he still seem to seek my presence? At
any rate, he shall see that I am no heartless coquette; and when
this Mr. Royston presents himself, as I’m sure he will (seeing
ROYSTON, who enters from R. H.)— I thought so!
ROYS. (aside). She’s alone! She’s decidedly handsome. Yet, as I
said before, there’s something about the other that—that— (Aloud,
and bowing to JULIA.) Miss Templeton!
JULIA (courtesying). Sir! the business matter in which you are
engaged is, I presume, settled?
ROYS. Yes; the signatures alone are required.
JULIA. In that case perhaps I had better— (About to retire.)
ROYS. One moment, I beg! (Aside.) She’s decidedly very
handsome! Still—don’t know how it is—but there is certainly
something about the other that—that— (Aloud.) Before leaving this
house to-morrow, with my new acquaintance—I mean my old
friend Barton—
JULIA (quickly). Mr. Barton leaves to-morrow?
ROYS. Yes, alas! I say “alas,” because one day only is now left
for me to admire your physical attractions, your mental
accomplishments—
JULIA. Oh, sir! Believe me, my sister is far more accomplished
than I am.
ROYS. Far be it from me to deny it. Still, from the highly
eulogistic terms in which every one speaks of you—your sister
among the first—
JULIA. Ah, sir! Dear Josephine is so amiable, so affectionate, so
good, so loving, so angelic—
ROYS. (aside). She sticks up for her sister, that I will say!
(Aloud.) Still, there are certain attractions which we can all judge of
by our own eyes.
JULIA (quickly). And who can possess them to a greater degree
than Josephine? Such exquisite grace—such absolute perfection of
form and feature—
ROYS. (aside). Her sister again! If we go on at this rate, we
sha’n’t get on very fast! (Aloud.) Allow me to be frank with you; my
brother Jonathan—but perhaps you’ve never heard of Jonathan?—
Jonathan Royston, of Banbury—where the cakes come from—well,
he often reproaches me with being what he calls rather wild and
fast and flighty—
JULIA. The only fault I find with Josephine, dear child. She is so
giddy, so thoughtless, so excitable! What a capital match you’d
make! Ha, ha, ha!
ROYS. (aside). That’s a pretty broad hint! (Aloud.) And he—I
mean Jonathan—says that the best thing I could do would be to
get married!
JULIA. The very conclusion I have come to about Josephine.
ROYS. (aside). It really looks as if she wanted to turn me over to
her sister. (Aloud.) And having received the flattering assurance
that my pretensions to your hand might possibly not be
unsuccessful—
JULIA. From whom, pray? Doubtless from my aunt.
ROYS. Oh no! From my dear old friend, Barton.
JULIA (indignantly). Mr. Barton? He? No, no! I cannot, will not
believe it!
ROYS. I’m sure he will not deny it—and see, fortunately, he’s
here!
Enter BARTON at door R. H.
BART. Miss Templeton, your presence is required in the drawing-
room.
JULIA (very coldly, and seating herself at table). Presently.
BART. (aside to ROYSTON). Well, what news?
ROYS. (aside). All right! At least, if it isn’t this one, it’ll be the
other! One of the two!
BART. What do you mean by “the other?”
ROYS. The “little, harmless, insignificant school-girl,” you know!
BART. (aside). Confound the fellow!
ROYS. You first put the notion of marriage into my head, and I
won’t leave this house a bachelor; I’ll marry somebody! I leave you
together! You’ll plead my cause, won’t you?—and pitch it strong,
won’t you? I shall be all anxiety to know the result—because if she
won’t have me, I can fall back on the other. Don’t you see?
(shaking BARTON’S hand, and runs out at C.).
BART. (aside, and looking at JULIA). To have to plead the cause
of another, when, in spite of me, her presence will recall the past,
painful, humiliating as it is!
JULIA (with indifference). Your friend has left you, Mr. Barton?
BART. He has, Miss Templeton; but he has left an advocate to
intercede with you on his behalf.
JULIA (satirically). A willing and an earnest one, no doubt, who
probably has already furnished him with a detailed catalogue of my
tastes, habits, pursuits, disposition—
BART. (aside). He’s been blabbing! (Aloud.) Surely he cannot
have betrayed my confidence?
JULIA (with suppressed anger). The charge of “betrayal of
confidence” should rather be levelled at one who by his intimacy
with a family, into which he is admitted on terms of friendship, is
enabled to study the characters of its members for the purpose of
retailing the result of his observations to others!
BART. I will not affect to misunderstand your reproof. It is true
that I spoke of you to Mr. Royston in terms which you fully merit—
that I even told him your heart was free.
JULIA. Perfectly, absolutely free! You undertook to be his
advocate with such zeal, such earnestness, one might almost
imagine you had some personal interest.
BART. And what if I had an interest—a powerful interest?
JULIA (quickly). Indeed?
BART. Yes. And after the somewhat harsh rejection I met with at
your hands—which, no doubt, I fully merited—what greater proof
can I give of the esteem in which I still hold you than to confide my
secret to you?
JULIA (starting). A secret? (Aside.) What can he mean?
BART. That, on the eve of leaving your family, I should feel far
less regret could I but indulge in the hope of ever becoming
connected with it by a closer tie.
JULIA (aside, and joyfully). Can it be? Has he forgotten—
forgiven? Can he still care for me? (Aloud.) But why this silence—
this want of confidence in me?
BART. Frankly, because we feared you would oppose our wishes,
our hopes.
JULIA (eagerly). Our hopes? We feared?
BART. Yes! She especially.
JULIA. She? Of whom are you speaking? Her name?
BART. Surely I must have mentioned it? Your sister.
JULIA (starting from her chair). Josephine!
BART. Yes; rejected by her elder sister, I sought and found
solace and consolation in her goodness and sympathy.
JULIA (with increasing anger). So! Your frequent visits, your
constant presence here, apparently so inconsistent with your
“wounded feelings” (satirically), are now explained! It was for her!
And I was to be kept in ignorance—to fancy, to believe, to hope—
BART. (surprised). Miss Templeton!
JULIA. I now understand this anxiety to dispose of my hand—
this crowd of admirers thrown in my way! What mattered my
feelings—my happiness? I was an obstacle to be removed! (with
increasing excitement).
BART. I implore you—
JULIA (stamping her foot). Silence, sir!
Enter MRS. TEMPLETON hurriedly at R. H.
MRS. T. What is the matter here? Julia! what means this
excitement—this agitation? Perhaps you, sir (to BARTON)—
BART. I am as much surprised as yourself, madam! I ventured to
confide to Miss Julia my pretensions to the hand of her sister—
MRS. T. (with a scream). What! You had the cruelty, the
barbarity to make such an avowal to her elder sister? (advancing
upon BARTON, who retreats)—to lacerate her feelings! to wound her
pride!
JULIA. Yes, that’s it!—to wound my pride!
BART. But really—
MRS. T. Silence, young man! I remember what my feelings were
when my younger sister was married before me. I was choking, sir!
suffocating, sir! I turned positively purple! all sorts of colors, sir!
And here is a little pert, forward chit, daring to follow her Aunt
Dorothy Jane’s example!—but here she comes. (Enter COLONEL
from R. H., and JOSEPHINE from L. H.) So, miss (advancing angrily on
JOSEPHINE), a pretty account I’ve heard of you! To mix yourself up
at your age in a silly romance—a nonsensical love-intrigue—
COL. (interfering). But, my dear Martha—
MRS. T. (turning sharply on him). Hold your tongue, Cousin
Samuel!
JOSEPHINE. But, aunt, if you’ll only allow me—
MRS. T. But I won’t allow you! (To JULIA.) Keep up your spirits,
poor persecuted victim!
JOSEPHINE. Victim? It seems to me that I’m the victim! Just as I
thought I was going to be married and settled! (beginning to sob;
COLONEL tries to pacify her).
MRS. T. Married and settled, indeed! A child—a baby like you!
(To BARTON.) After what has occurred, sir, you will see that your
further presence under this roof—
BART. (bowing). I fully understand, madam!
MRS. T. (to JOSEPHINE). Come, miss, follow me! (JOSEPHINE about
to speak.) Not a word! It is for me to speak, as you’ll find I intend
to do, and to some purpose. This way! (making JOSEPHINE pass
before her; she and JULIA follow her out at R. H.).
COL. Wheugh! here’s a pretty piece of business!
BART. Not satisfied with rejecting me herself, she carries her
prejudice, her hate so far as to—
COL. Hate? nonsense! (Suddenly.) By Jove! I have it!—at least I
think I have. What if she should feel a “sneaking kindness” for you,
after all?
BART. Pshaw!
COL. But what about friend Royston?
BART. Hang friend Royston!
COL. With all my heart; but where the deuce is he?
BART. Waiting somewhere or other to hear the result of my
interview with Miss Templeton.
COL. In which you undertook to plead his cause—eh?
BART. Yes; and forgot all about it in my anxiety to plead my
own!
COL. What’s that? Do you mean to say you confided to her the
secret between you and Josephine?
BART. Yes; trusting in her generous nature and her sisterly
affection, I certainly did!
COL. And a pretty mess you’ve made of it! Well, I must find
Royston and let him know. As for you, as you’ve received orders to
march, the sooner you pack up and pack off the better! (hurries
out at C.).
(Door at R. H. opens, and JOSEPHINE peeps in.)
JOSEPHINE. Harry! Are you alone?—quite alone? (hurries
forward).
BART. Yes. What is it?
JOSEPHINE. Such a discovery! (in a very mysterious tone). She’s
got one!
BART. She? Who?
JOSEPHINE. Julia!
BART. Got one? Got what?
JOSEPHINE. A young man! shut up in a box!
BART. In a box?
JOSEPHINE. Listen. After being well scolded by Aunt Martha, I
followed Julia to her room. There she was, with a little open box
before her, out of which she took something, looked at it, then
pressed her lips to it, and gave such a sigh!—you might have heard
it here! perhaps you did?
BART. Well?
JOSEPHINE. Then aunt called her, and she hurried out of the
room, leaving the box on the table; and then—then—somehow or
other—here it is! (producing a small casket). It looks as if there
was a young man inside—I mean a portrait—doesn’t it?
BART. You’ve not opened it? (eagerly).
JOSEPHINE. No! That’s for Aunt Martha to do!
BART. Surely you would not betray your sister’s secret—perhaps
her happiness?
JOSEPHINE. Much she cared about mine, didn’t she? Aunt Martha
must and shall see it! (going; BARTON stops her, the box falls on
stage and opens). There! there! how clumsy you are!
BART. (picks up the box, and then suddenly starting). What do I
see?
JOSEPHINE. That’s what I want to know! It is a portrait, isn’t it?
BART. (confused). Yes!—no! a mere fancy sketch, nothing more!
(taking miniature from box, and hastily concealing it in his breast-
pocket). Be persuaded by me! replace the box where you found it!
(giving box to her).
JOSEPHINE. Mayn’t I take just one little peep?—not that I’ve an
atom of curiosity!
BART. No, no!
JOSEPHINE. Well, if you insist on it.
BART. I do not insist, I beg, implore of you.
JOSEPHINE. Very well! (hurries out at R. H.).
BART. (watching her out, then taking miniature out and looking
at it). My portrait! and what is written here? (Reading.) “From
memory.” What am I to think? Can I dare to hope that her
indifference was assumed—that she ever loved me—that she loves
me still? Can such happiness be mine? Dear, dear Julia. But
zounds! what about Josephine? Poor little girl! I can’t marry them
both! What—what is to be done? (walking up and down). Will
anybody tell me what’s to be done?
Enter ROYSTON hurriedly at C.
ROYS. (coming down). Oh, here you are! I couldn’t wait any
longer! (following BARTON up and down).
BART. (impatiently). Don’t worry! don’t bother!
ROYS. (astonished). Bother! when I want to thank you for
introducing me to this charming, amiable family, and to tell you I
don’t despair of becoming one of it!
BART. What?
ROYS. In a word, I’m in love! There’s no mistake about it! Over
head and ears in love!
BART. What, sir? you persist in carrying on this absurd,
ridiculous joke?
ROYS. Joke?
BART. Yes, sir; I beg to tell you I’ll not allow, I’ll not permit you
to annoy poor dear Julia—I mean Miss Templeton—with your
unwelcome attentions, sir—your absurd importunities, sir?
ROYS. Miss Templeton? My dear fellow, she’s nothing whatever
to do with it! It’s the other! the little one!
BART. (joyfully). Josephine?
ROYS. Yes.
BART. My dear fellow! Come to my arms! (throwing his arms
about ROYSTON, who struggles). I congratulate you! I give you joy!
Such a sweet, charming, amiable creature, brimful of talent,
overflowing with tenderness. Come to my arms again! (embracing
ROYSTON again).
ROYS. Then you’ll speak for me—eh?
BART. Speak for yourself—here she comes.
Enter JOSEPHINE hurriedly at R.
JOSEPHINE (stopping on seeing ROYSTON). Mr. Royston.
BART. (aside to ROYSTON). Now, then, speak out! don’t be afraid!
put on a sentimental look.
ROYS. (assuming a very lackadaisical look). This sort of thing!
(Aloud.) Miss Josephine—I—I— (Aside.) It’s very awkward! if I only
knew how to begin.
BART. (aside to him). Go on!
ROYS. Pardon my frankness, but it has been impossible for me
to find myself in your charming society without being captivated—
enchanted—by your fascinations, your—
JOSEPHINE (surprised). I thought it was my sister who—
ROYS. So it was! but she wouldn’t have me! that’s why I—
BART. (hastily aside to him). No! that won’t do!
ROYS. (shouting). No! that won’t do!
JOSEPHINE. (still more astonished). And you don’t hesitate to
address me in this language before— (pointing to BARTON).
ROYS. Before my friend—my bosom friend—that I went to
school with at Bagnigge Wells? Why should I? It is he who
encourages me—who tells me to “go on.” You told me to “go on,”
didn’t you?
JOSEPHINE (with intention, and looking at BARTON). But has it
never occurred to you that you might have a rival?
ROYS. So much the better! I should make it my immediate
business to sweep him off the face of the earth!
JOSEPHINE (to BARTON, in a sarcastic tone). And you, sir! you can
listen with perfect calmness, indifference! Have you nothing to say?
ROYS. Yes! Have you nothing?—
BART. (aside to him). Hold your tongue! (Aloud, and with
affected solemnity.) Ah! who can anticipate events? How little do
we know what a few hours may bring forth!
ROYS. Yes! how little do we know!—
BART. (aside to him again). Hold your tongue! (Aloud.) In a
word, what if circumstances compel me to leave England for a
considerable time?
JOSEPHINE. A considerable time?
BART. Yes; for two years at least—possibly more!
JOSEPHINE. Two or three years?
BART. Could I venture to hope that you would submit to such a
tax on your goodness—your patience?
JOSEPHINE (very quickly). I should think not, indeed!
BART. (aside). She doesn’t love me! Huzza! (Aloud.) What
course is, then, open to me? One—only one: to sacrifice myself to
the happiness of my friend!
ROYS. (grasping his hand). Glorious creature!
JOSEPHINE. But what about your own happiness? It isn’t likely
you could give me up so quietly without some other reason—some
other motive!
BART. I have another motive, which for your sister’s sake you
will respect! In a word, that portrait—
JOSEPHINE. In Julia’s box? Yes. Well?
BART. Was mine! See! (taking out portrait and showing it).
JOSEPHINE (exclaiming). Yours? It is!
ROYS. Yours? It is! (bewildered).
JOSEPHINE. Then—then you are her young man, after all?
ROYS. Yes. You are her young man—
JOSEPHINE. Of course; now I understand. Now I see it all.
ROYS. So do I! No, I don’t! At least, not quite.
Enter COLONEL hurriedly at C.
COL. (singing as he comes in). “See, the conquering hero
comes.” Victory! victory! Everything’s settled; and now, my dear
young friends (shaking BARTON’S and JOSEPHINE’S hands), you can
get married as soon as you like.
JOSEPHINE.
}(together). Married?
BART.
ROYS.
COL. Yes! I had a devil of a fight for it, but I’ve carried the day!
Aunt Martha consents, Julia consents, everybody consents!
ROYS. I beg your pardon! I don’t! (Shouting). I forbid the
banns!
Enter MRS. TEMPLETON, followed by JULIA, at R. H.
JULIA (aside, as she sees BARTON). Still here!
JOSEPHINE. So, Aunt Martha, you’ve given your consent? And
you, too, Julia?
JULIA (endeavoring to conceal her emotion). Yes, Josephine,
willingly, gladly! Can I be indifferent to your happiness? (smiling
sadly).
JOSEPHINE (aside). How bravely she bears herself! (Aloud.) And
yet, just now, you were so indignant, so angry with me?
JULIA. A momentary caprice, an unworthy jealousy!—but no
more of that. Kiss me, dear sister! (kissing JOSEPHINE and moving
away).
JOSEPHINE (aside). A tear? But you won’t suffer long, poor dear
martyr! (Suddenly bursting into loud laughter.) Ha! ha! ha! (Aside
to COLONEL.) Laugh!
COL. (forcing laugh). Ha! ha! ha! (Aside.) Laugh!
ROYS. (very loud). Ha! ha! ha! (Aside.) I don’t know what I’m
laughing about.
MRS. T. What is the matter?
JOSEPHINE (laughing again). Ha! ha! ha! You don’t mean to say
you’ve all been taken in? Did you think we were in earnest all the
time? Ha! ha! ha! (Aside to COLONEL.) Laugh!
COL. Ha! ha! ha!
ROYS. (very loud). Ha! ha! ha!
MRS. T. (impatiently). Josephine, I insist on your explaining this
extraordinary behavior instantly!
JOSEPHINE. Nothing so simple. (To COLONEL and BARTON.) There’s
no necessity for our carrying on this innocent little jest any longer,
is there?
MRS. T. Jest?
JOSEPHINE. Yes; this harmless conspiracy to make everybody
happy! Julia dear, it was to test your love for me that I pretended
to be so very anxious to get married, which I wasn’t the least little
bit in the world (with a sly look at ROYSTON). I mean I wasn’t then!
My fellow-conspirator, Mr. Barton, fearing that your rejection of him
might proceed from a preference for another, joined in the plot, but
very unwillingly, for it is you, Julia, you alone, that he has ever
loved; you alone that he loves still!
MRS. T. What is it I hear?
BART. The truth, madam! (To JULIA.) May I hope, or must I
endure a second refusal!
JULIA (tenderly). I suffered too much from the first, Harry
(giving her hand to BARTON).
ROYS. (aside). That’s one couple; but there’s room for another.
(To MRS. TEMPLETON.) Madam, I have the honor to solicit the hand
of your younger niece, Miss Josephine!
MRS. T. With all my heart, Mr. Royston; that is, unless Josephine
objects.
JOSEPHINE (quickly). But she doesn’t! (giving her hand to
ROYSTON).
BART. You see, Jonathan will be satisfied, after all.
ROYS. Yes. But poor Sophia (sighing).
BART. Hush! (Aside to JULIA, and slipping the portrait into her
hand.) You’ll put this portrait back in its place.
JOSEPHINE. She won’t care to look at it, now that she’s got the
original.
THE CURTAIN FALLS.
PEPPERPOT’S LITTLE PETS!
In One Act.
DRAMATIS PERSONÆ.
JACK PEPPERPOT, late H. M. 147th Foot.
DOCTOR JACOBUS JOGTROT.
MR. CHRISTOPHER CHIRPER.
STEPHEN BLUNT.
MRS. TARLETAN.
JESSIE (her niece).
MARTHA (a servant).
SCENE.—Mrs. Tarletan’s Villa at Hampstead.
Elegantly furnished room at MRS. TARLETAN’S villa. French windows
at back showing garden beyond; doors R. H. 3 E. and L.;
fireplace at L. H. 2 E.; table, chairs, sofa, etc. MARTHA discovered
arranging furniture, etc. (bell heard without).
MARTHA. There’s the gate bell beginning. Butcher for orders, I
suppose. (Bell heard again.) I thought so; he’s the most impatient
young man I ever came across! Asked me if I’d marry him only
yesterday morning when he called for orders, and was quite saucy
because I hadn’t made up my mind when he brought the meat! I
must go and ask missus. (Exit door R. JACK PEPPERPOT is seen to
cross at back beyond the French windows; looks cautiously in at
C.).
JACK. No one to be seen; so much the better. (Calling off.) Now
then, Blunt, come along! take care how you turn the corner; that’ll
do. (Enters at C., walking backward, closely followed by STEPHEN
BLUNT, in an undress military jacket and cap, carrying a box
covered with Chinese characters.) Left wheel! halt. (Takes box
carefully from BLUNT and places it on small table—opens lid.)
Nothing broken, I hope. No; I don’t even see a chip!
BLUNT. That’s a wonder, too, your honor! cups and saucers is
rather a delicate sort of cargo to bring all the way from China.
JACK (looking at watch). Nine o’clock! I wonder if my dear,
excellent old aunt is still indulging in a horizontal position? We
reached town so late last night, I was afraid to disturb the dear old
soul. (Looking round him.) Blunt, it strikes me we shall find our
quarters here very comfortable—eh? (falling into chair and
stretching out his legs).
BLUNT. I think so too, your honor (imitating JACK, then jumping
up again and saluting). Beg pardon, your honor! but when you say
our quarters—
JACK. I mean our quarters! You wouldn’t think of leaving me,
you brute, would you? Haven’t we spent the last ten years of our
lives together—more or less respectably?—and if I have got back to
Old England again, sound in wind and limb, who have I to thank?
who but you, you fine faithful old dog you (laying his hand on
BLUNT’S shoulder).
BLUNT (deprecatingly). Oh! oh!
JACK. If you forget a certain sabre cut I received at the Alma, I
don’t.
BLUNT. Oh! oh! just a little bit of a scratch.
JACK. Exactly; a little bit of a scratch that began at the top of
my head and finished at the tip of my nose! I was lying on my back
faint and sick, when a noble, lion-hearted fellow cut his way
through the Russian cavalry at the risk of his life, the idiot, threw
me across his horse, and saved me! That noble, lion-hearted idiot
was Stephen Blunt—bless him! But enough of the past! By-the-bye,
Blunt, as long as you are stationed here you must make it a point
of finding everybody and everything about you charming, delightful
—in short, first chop!
BLUNT (touching his cap). All right, your honor!
MRS. TARLETAN (heard without). If I am wanted, Martha, you’ll
find me in the garden.
JACK. Here comes my aunt; beat a retreat—quick, anywhere.
[BLUNT hurries out at L. H.
Enter MRS. TARLETAN at R.
MRS. T. (seeing JACK). A stranger?
JACK (smiling). Not quite. (Going to her.) Don’t you know me,
aunt?
MRS. T. Eh? (Suddenly.) Jack dear, dear boy! (JACK clasps her in
his arms). Kiss me again, Jack.
JACK. Again and again till you tell me to leave off (kissing her
again).
MRS. T. Let me look at you (holding his head between her
hands). It is ten long years since I have seen you, my darling boy:
and has it come back from China, a dear?
JACK. It has—all the way!
MRS. T. (pulling his cheek affectionately). And is it glad to get
home?
JACK. Is it? ain’t it? Ah! after knocking about the world for ten
years, you don’t know how happy a fellow feels in getting back to
his aunt and having his cheeks pulled about. By-the-bye, aunt,
what d’ye think?—what with my prize-money, the sale of my
commission, and one thing and the other, I find I’ve managed to
scrape together a matter of £10,000.
MRS. T. Ten thousand? that’s a large sum of money, my dear.
JACK. An awful lot, isn’t it? the puzzle is, what I’m to do with it.
MRS. T. My advice is, invest in land; they say “Stick to the land,
and the land will stick to you.”
JACK. I know mud will—at least it did in the Crimea.
MRS. T. My dear Jack, do be serious! Now that you are worth
£500 a year—
JACK. Five hundred a year! I shall never spend the half of it.
MRS. T. Then get a wife to help you.
JACK. A wife! me? what for?—why, my dear aunt, here are no
end of clever people complaining of the over-population of the
country, and you want me to— (Shaking his head.) No, no!
MRS. T. Well, well, we’ll say no more about it; though it’s a pity
—a great pity!
JACK. A pity! what do you mean?
MRS. T. Nothing! a fancy, a dream of mine—that’s all.
(JESSIE is heard singing a snatch of a song without—runs in
from R. H.)
JESSIE (running to MRS. TARLETAN and kissing her). Good-
morning, aunty dear. (Suddenly, seeing JACK.) A stranger! Really, sir
—I—I— (Courtesying.)
JACK (bowing to JESSIE). So do I, I’m sure, miss! very much
indeed.
MRS. T. (smiling). “Sir” and “miss?” Why, Jack, have you
forgotten Jessie?
JACK. Eh? what? little Jessie!
JESSIE. Cousin Jack!
JACK (taking both JESSIE’S hands). Dear, dear, when I remember
what a tiny little mite you were ten years ago! about so high!
(measuring about a foot). Why, I used to teach you A B C, didn’t I?
And now I suppose you’re quite an accomplished young lady?
JESSIE. Tolerably so, I hope, cousin.
JACK. Then you deserve a prize; and here it is (opening box on
table, takes out a fan and presents it to JESSIE). The reward of
merit.
JESSIE. Oh, what a beautiful Chinese fan! Oh, thank you, cousin!
JACK. And perhaps our good aunt will give us our tea tonight
out of her new porcelain service (showing contents of box).
MRS. T. A present for me, too! So you found time to think of
me, dear boy?
JACK. Think of you! Do you remember this? (taking small case
from his breast-pocket and opening it).
MRS. T. My photograph?
JACK. Which you gave me the night before I left England. You’ve
never left me! You’ve shared all my hardships, all my dangers, all
my triumphs! Didn’t we enter Pekin together, sword in hand?
MRS. T. (smiling). I enter Pekin!
JACK. Yes; rolled up in three of my flannel waistcoats to protect
you.
JESSIE. Oh, Cousin Jack, I do so long to hear all your
adventures.
JACK. Then you shall have them; not all at once; mustn’t be
greedy, little girl. Now for it. (They seat themselves.) Ahem! (in an
impressive tone). In order to make a first-rate brick—
MRS. T. and JESSIE. A brick?
JACK. Don’t interrupt me! I repeat, in order to make a first-rate
brick they put it on the kiln and bake it. Well, in order to make a
first-rate soldier they send him to India and bake him—that was my
case.
MRS. T. Well, from India you went to the Crimea?
JACK. Yes; there I took to rum, diluted with snowballs and
gunpowder.
JESSIE. Poor Cousin! how you must have suffered!
JACK. Tolerably; but we ate well—when we’d got anything to eat
—and slept well when we hadn’t to keep awake.
JESSIE. And you were never wounded?
JACK. Nothing to speak of. I got rather a warm one at the Alma,
but luckily it was on the head.
JESSIE. Cousin Jack, I really feel quite proud of you! that I do.
JACK. Then allow me to thank you in the name of the British
Army; allow the British Army to salute you! (Kisses her. JESSIE joins
MRS. TARLETAN, who has gone a few steps up the stage.)
JACK (looking after JESSIE, and aside). A remarkably nice little
body. If ever I should marry, I really—
JESSIE (to MRS. TARLETAN, as they come forward). No, indeed,
aunt, there’s no necessity for anything of the kind.
MRS. T. I beg your pardon, my dear. Jack is one of the family.
JACK. Of course I am! What’s the matter?
MRS. T. Well, the fact is, we are not unlikely soon to find a
husband for Jessie!
JACK. A husband! Who is he? what is he?
MRS. T. I only know that he is a protégé of Doctor Jogtrot.
JACK. And who’s Jogtrot?
MRS. T. Jessie’s guardian; a retired physician—a very eminent
man in the scientific world.
JACK. Oh! ah! (Aside.) Confound Jogtrot!
MARTHA appears at C., followed by DOCTOR JOGTROT.
MARTHA (announcing). Doctor Jogtrot. (Disappears.)
Enter DOCTOR JOGTROT at C.; black costume—white cravat, etc.
JOGTROT (to MRS. TARLETAN). Pardon me, madam, if I am late.
MRS. T. Don’t apologize, doctor. (Introducing.) My nephew,
Captain Pepperpot—Doctor Jogtrot (JOGTROT bows ceremoniously
to JACK, who gives him a familiar nod in return).
JOGTROT. I merely precede my esteemed young friend Mr.
Chirper by a few minutes. Need I say I should not presume to
present him as a competitor for the hand of this charming young
lady (bowing to JESSIE), had I not discovered in his person qualities
of the most solid description.
JACK. Solid—eh? I see! inclined to be stout—eh?
JOGTROT (after a stare at JACK, and turning to MRS. T. again). In
fact, I am proud to say that Mr. Chirper is, in the strictest sense of
the word, a serious young man!
JACK (aside). Wheugh! I sha’n’t be able to stand much more of
Jogtrot! I feel I sha’n’t.
MRS. T. No doubt I shall grieve to part with Jessie; but as my
nephew has left the army, I shall not be entirely alone.
JOGTROT (to JACK). You are a military man, sir?
JACK (who has been showing a gradual irritation). I was—till I
left the army.
JOGTROT. Left the army? Allow me to congratulate you on your
having done so, sir!
JACK (trying to keep cool). May I ask why?
JOGTROT (in a supercilious tone). Because, between ourselves,
sir, I consider the military profession—
JACK (bristling up). Well, sir, what about the military profession?
Anything to say against the military profession? (advancing on
JOGTROT, who retreats).
MRS. T. (aside to JACK). Don’t be so pugnacious, Jack! Recollect,
you’re not at the siege of Sebastopol now!
JOGTROT (overhearing them, eagerly). The siege of Sebastopol?
MRS. T. Yes, doctor, my nephew was there during the whole
campaign!
JOGTROT (to JACK). Now, sir, it may be in your power to furnish
me with the most interesting statistical information. Can you form
any tolerable accurate estimate of the number of projectiles of
various kinds and dimensions discharged from the Russian batteries
from the beginning of the siege to the end?
JACK. Frankly, my dear sir, I’m ashamed to say I never thought
of counting them. (Aside to MRS. TARLETAN.) I wish to speak with all
possible respect of this retired chemist and druggist of yours, but
he’s simply an inflated idiot!
JOGTROT. But to return to Mr. Chirper.
JACK. Yes, give us a little more about Dicky!
JOGTROT (astonished). Dicky?
JACK. Yes, same thing! Chirpers are all Dickies—Dickies,
Chirpers, don’t you see? Go on!
MARTHA, entering at L.
MARTHA. A gentleman, ma’am, sent in his card (giving card to
MRS. TARLETAN).
MRS. T. (reading). “Mr. Christopher Chirper.” Show the
gentleman in. (MARTHA goes to C., shows in CHIRPER, and then
exits.)
Enter CHIRPER, in a similar costume to JOGTROT.
JOGTROT (meeting CHIRPER, and handing him forward and
presenting him). Allow me, Mrs. Tarletan—Mr. Christopher Chirper.
Miss Jessie—Mr. Christopher Chirper. (To JACK.) Sir, Mr. Christopher
Chirper. (CHIRPER bows very solemnly to each.)
JACK (aside). A cheerful-looking youth, very! one part waiter,
three parts undertaker!
MRS. T. (to CHIRPER). The flattering terms in which Dr. Jogtrot
has spoken of you more than suffice to insure you a hearty
welcome!
CHIRP. (bowing). I trust, madam, I may merit the favorable
opinion of my distinguished friend! Permit me to say, I am not one
of those giddy, thoughtless butterflies who consume their mental
and moral faculties in mundane futilities.
JACK (after a long stare at CHIRPER—then aside). He’s not a
man, he’s a tract. (Aside to JESSIE, as he goes towards table.)
Lively boy, isn’t he, Jessie? (Sits and turns over leaves of an
album.)
CHIRP. My mode of life is simplicity itself. I rise at seven—
JACK. Oh, confound it!—hang it!—dash it! (turning over leaves
rapidly).
CHIRP. Breakfast at eight—a slice of bread, a cup of milk; that
constitutes my heartiest meal. I then walk for an hour in the
square; dine at six.
JACK (who has come down again). Another cup of milk? You
ought to keep a cow, Chirper, in the square.
CHIRP. I then plunge into my favorite studies, till I retire to my
pillow. Such is my life, madam.
JACK. And a very jolly one, too, I should say, Chirper.
CHIRP. Ladies, I must now request permission to retire. I am
due at the Philotechnic Institution.
MRS. T. (to CHIRPER). You’ll return to luncheon, I hope?
JACK. Of course he will. (To CHIRPER.) Of course you will
(thrusting CHIRPER’S hat and umbrella into his hands). I’ll see
there’s an extra ha’porth of milk taken in for you (putting CHIRPER’S
hat on his head).
[CHIRPER and JOGTROT bow to JESSIE and exeunt at C., MRS.
TARLETAN going up stage with them.
MRS. T. (coming down). A very, very agreeable young man
indeed.
JESSIE (satirically). Yes; so remarkably sprightly.
JACK. With about as much humor in him as a damp umbrella.
MRS. T. (a little nettled). I repeat, Mr. Chirper is a very
agreeable person. I would put it to anybody—to the very first
comer.
JACK. Would you? That’s a bargain (seeing BLUNT, who appears
at C.). There’s my man, Stephen Blunt—he’ll do; you said the first
comer. Here, Blunt (BLUNT advances), tell me what’s your opinion of
the gentleman who has just gone?
BLUNT (aside to JACK, knowingly). All right, captain, I haven’t
forgot. (Aloud.) Well, sir, I think he’s charming, delightful, first-
chop.
JACK (quickly). No, no! I mean the other—the young one.
BLUNT. Well, sir, I think he’s first-chop, too.
JACK. Ugh! triple dolt, brute, idiot. (BLUNT about to speak.)
Silence! get out! Stop, come and dress me! Ugh! pudding-head
(shakes his fist at BLUNT and hurries out L. H., followed by BLUNT).
MRS. T. Why, what’s the matter with the boy? such a temper all
of a sudden.
JESSIE (pouting). No wonder; he sees well enough that you’re
tired of me—that you want to get rid of me—that you—oh! oh! oh!
[Runs out crying at R.
MRS. T. (astonished). There’s some mystery here I must clear
up. Jessie! Jessie!
[Hastens out after JESSIE at R.
JACK (without, at L. H., very loud and angrily). Hold your tongue!
don’t answer me! don’t be insolent!—there, there! (Enters hurriedly
from L. H.) Wheugh! I’m better now I’ve let off some of the steam!
ha, ha! Poor old Blunt (stopping suddenly). Stop, there’s nothing to
laugh at. I know I was a little bit out of temper—whose fault but
his if I was?—with his infernal “first-chop;” but I’d no business to
strike the poor fellow, with my foot especially; I ought to be
ashamed of myself. Ought to be? I am! Here he comes (seeing
BLUNT, who enters at L. H., looking pale and serious; after a little
hesitation JACK walks up to him). Stephen Blunt, I ask your pardon;
there, that’s settled; now shake hands (holds out his hand; BLUNT
looks away). I’m sorry, Blunt, very sorry; would you like to kick me?
or shall I kick myself? I’ll try if you like!
BLUNT. I’d rather you had blown my brains out, captain. If any
other man in the world had—had—you know what I mean—I’d
have knocked him down.
JACK (quietly). Then knock me down!
BLUNT. As you are now, sir? no! but in a fair stand-up fight I
would!—at least I’d try!
JACK (with sudden excitement). What’s that? Stand-up fight?
this sort of thing? (sparring and hitting out).
BLUNT (with a broad grin). That’s it, sir! If you’d only just let me
knock you about for a round or two, I should feel like a man again!
JACK (aside). I rather like this! I do, by Jove! There’s some fun
in having one’s head punched by one’s servant! (Aloud.) All right,
old boy! you shall have satisfaction after your own fashion! Look
out for some nice quiet spot, and in ten minutes’ time we’ll have it
out; in the mean time, mum, not a word.
[BLUNT runs out at C., rubbing his hands in high glee.
JACK (after a pause). I’d better by half have stopped in China! I
can’t stop here! I can’t look quietly on—probably with my eye
bunged up—and see the woman I love married to a Dicky! No, no;
I’ll pack up at once!
(MRS. TARLETAN and JESSIE have entered R. H. during the
above.)
MRS. T. (overhearing). Pack up?
JACK. Yes, aunt. I’m off—good-by!
MRS. T. Off? Where—where?
JACK. I don’t know; somewhere or other—if not there,
somewhere else. Good-by!
MRS. T. John Pepperpot, you are deceiving me! I want the truth!
you hear, sir, the truth!
JACK. Do you? then you shall have it! I love Jessie—there! now
you’ve got it!
JESSIE (joyously). You hear, aunty? He loves me; me whom you
are about to sacrifice—to immolate! (in a tragic tone).
JACK. On the altar of a Chirper! (in a similar tone).
JESSIE. It’s cruel!
JACK. Barbarous!
JESSIE. Inhuman!
JACK. Savage!
MRS. T. (who has been trying to speak). Will you let me speak?
(To JACK.) You say you love Jessie?
JACK. Awfully!
MRS. T. Well—unless, indeed, Jessie objects—
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com

More Related Content

PDF
React and React Native - Fifth Edition Mikhail Sakhniuk
PDF
PDF React and React Native - Fifth Edition Mikhail Sakhniuk download
PDF
React in Action 1st Edition Mark Tielens Thomas
PDF
React in Action 1st Edition Mark Tielens Thomas
PDF
Learning Patterns Lydia Hallie Addy Osmani Josh W Comeau
DOCX
React Components and Its Importance.docx
PDF
Why is React Development so in demand.pdf
PDF
React and React Native - Fifth Edition Mikhail Sakhniuk
React and React Native - Fifth Edition Mikhail Sakhniuk
PDF React and React Native - Fifth Edition Mikhail Sakhniuk download
React in Action 1st Edition Mark Tielens Thomas
React in Action 1st Edition Mark Tielens Thomas
Learning Patterns Lydia Hallie Addy Osmani Josh W Comeau
React Components and Its Importance.docx
Why is React Development so in demand.pdf
React and React Native - Fifth Edition Mikhail Sakhniuk

Similar to React 18 Design Patterns And Best Practices Fourth Edition Early Access 4 Converted Anonymous (20)

PDF
Mastering react with redux
PDF
FRONTEND DEVELOPMENT WITH REACT.JS
DOCX
React JS Components & Its Importance.docx
PDF
ReactJS Development_ Everything You Need to Know.pdf
PDF
Learning React js Learn React JS From Scratch with Hands On Projects 2nd Edit...
PDF
React In Action 1st Edition Mark Tielens Thomas
PDF
React and React Native - Fifth Edition Mikhail Sakhniuk
PDF
React in Action ( PDFDrive ).pdf
PDF
React Best Practices All Developers Should Follow in 2024.pdf
PDF
a-detailed-guide-everything-you-need-to-know-about-reactjs.pdf
PPTX
PPSX
React introduction
PDF
React Libraries For Every Purpose Your Business Needs In 2022
PPTX
react js training|react js training in mumbai|React js classes in mumbai
PDF
PDF
react-js-notes-for-professionals-book.pdf
PDF
Why React is the Future of Front-End Development
PDF
Why React is the Future of Front-End Development.pdf
PPTX
React_Complete.pptx
PDF
Xcentric - Web.pdf
Mastering react with redux
FRONTEND DEVELOPMENT WITH REACT.JS
React JS Components & Its Importance.docx
ReactJS Development_ Everything You Need to Know.pdf
Learning React js Learn React JS From Scratch with Hands On Projects 2nd Edit...
React In Action 1st Edition Mark Tielens Thomas
React and React Native - Fifth Edition Mikhail Sakhniuk
React in Action ( PDFDrive ).pdf
React Best Practices All Developers Should Follow in 2024.pdf
a-detailed-guide-everything-you-need-to-know-about-reactjs.pdf
React introduction
React Libraries For Every Purpose Your Business Needs In 2022
react js training|react js training in mumbai|React js classes in mumbai
react-js-notes-for-professionals-book.pdf
Why React is the Future of Front-End Development
Why React is the Future of Front-End Development.pdf
React_Complete.pptx
Xcentric - Web.pdf
Ad

Recently uploaded (20)

PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PPTX
Cell Types and Its function , kingdom of life
PPTX
Lesson notes of climatology university.
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Complications of Minimal Access Surgery at WLH
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PPTX
GDM (1) (1).pptx small presentation for students
PPTX
Institutional Correction lecture only . . .
PDF
Computing-Curriculum for Schools in Ghana
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Cell Structure & Organelles in detailed.
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
Pharma ospi slides which help in ospi learning
Anesthesia in Laparoscopic Surgery in India
Abdominal Access Techniques with Prof. Dr. R K Mishra
Chinmaya Tiranga quiz Grand Finale.pdf
Cell Types and Its function , kingdom of life
Lesson notes of climatology university.
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Complications of Minimal Access Surgery at WLH
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Final Presentation General Medicine 03-08-2024.pptx
human mycosis Human fungal infections are called human mycosis..pptx
202450812 BayCHI UCSC-SV 20250812 v17.pptx
GDM (1) (1).pptx small presentation for students
Institutional Correction lecture only . . .
Computing-Curriculum for Schools in Ghana
STATICS OF THE RIGID BODIES Hibbelers.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Cell Structure & Organelles in detailed.
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Pharma ospi slides which help in ospi learning
Ad

React 18 Design Patterns And Best Practices Fourth Edition Early Access 4 Converted Anonymous

  • 1. React 18 Design Patterns And Best Practices Fourth Edition Early Access 4 Converted Anonymous download https://ebookbell.com/product/react-18-design-patterns-and-best- practices-fourth-edition-early-access-4-converted- anonymous-55132010 Explore and download more ebooks at ebookbell.com
  • 2. Here are some recommended products that we believe you will be interested in. You can click the link to download. React 18 Design Patterns And Best Practices Design Build And Deploy Productionready Web Applications With React By Leveraging Industrybest Practices 4th Edition Carlos Santana Roldn https://ebookbell.com/product/react-18-design-patterns-and-best- practices-design-build-and-deploy-productionready-web-applications- with-react-by-leveraging-industrybest-practices-4th-edition-carlos- santana-roldn-51260006 React 18 Design Patterns And Best Practices 4 Converted Carlos Santana Roldn https://ebookbell.com/product/react-18-design-patterns-and-best- practices-4-converted-carlos-santana-roldn-56426994 Building Micro Frontends With React 18 Develop And Deploy Scalable Applications Using Micro Frontend Strategies 1st Edition Vinci J Rufus https://ebookbell.com/product/building-micro-frontends-with- react-18-develop-and-deploy-scalable-applications-using-micro- frontend-strategies-1st-edition-vinci-j-rufus-53166544 Building Micro Frontends With React 18 Vinci J Rufus https://ebookbell.com/product/building-micro-frontends-with- react-18-vinci-j-rufus-55335034
  • 3. Building Micro Frontends With React 18 Vinci J Rufus https://ebookbell.com/product/building-micro-frontends-with- react-18-vinci-j-rufus-56504760 Learn React With Typescript A Beginners Guide To Reactive Web Development With React 18 And Typescript 2nd Edition 2nd Carl Rippon https://ebookbell.com/product/learn-react-with-typescript-a-beginners- guide-to-reactive-web-development-with-react-18-and-typescript-2nd- edition-2nd-carl-rippon-47936932 Medical Billing Coding 20232024 Study Guide Reach Your Goal Includes Legal Guidelines Qa Terminology Extra Content May 18 20239798394218934pdf Rory George https://ebookbell.com/product/medical-billing-coding-20232024-study- guide-reach-your-goal-includes-legal-guidelines-qa-terminology-extra- content-may-18-20239798394218934pdf-rory-george-60654260 React Quickly Second Edition Meap V8 2nd Morten Barklund Azat Mardan https://ebookbell.com/product/react-quickly-second-edition- meap-v8-2nd-morten-barklund-azat-mardan-46594468 React Application Architecture For Production Learn Best Practices And Expert Tips To Deliver Enterpriseready React Web Apps 1st Edition Alan Alickovic https://ebookbell.com/product/react-application-architecture-for- production-learn-best-practices-and-expert-tips-to-deliver- enterpriseready-react-web-apps-1st-edition-alan-alickovic-47582322
  • 6. React 18 Design Patterns and Best Practices Copyright © 2022 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Early Access Publication: React 18 Design Patterns and Best Practices Early Access Production Reference: B18414 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK ISBN: 978-1-80323-310-9 www.packt.com
  • 7. Table of Contents 1. React 18 Design Patterns and Best Practices, Fourth Edition: Design, build, and deploy production-ready web applications with ease and create powerful user experiences 2. 1 Taking Your First Steps with React I. Join our book community on Discord II. Technical requirements III. Differentiating between declarative and imperative programming IV. How React elements work V. Unlearning everything VI. Understanding JavaScript fatigue VII. Summary 3. 2 Introducing TypeScript I. Join our book community on Discord II. Technical requirements i. TypeScript features ii. Converting JavaScript code into TypeScript iii. Types iv. Interfaces v. Template Literals vi. TypeScript Configuration File III. Summary 4. 3 Cleaning Up Your Code I. Join our book community on Discord II. Technical requirements III. Using JSX i. Babel 7 ii. Creating our first element iii. DOM elements and React components iv. Props v. Children vi. Differences with HTML vii. Spread attributes viii. Template literals ix. Common patterns IV. Styling code
  • 8. i. EditorConfig ii. Prettier iii. ESLint V. Functional programming i. First-class functions ii. Purity iii. Immutability iv. Currying v. Composition VI. Summary 5. 4 Exploring Popular Composition Patterns I. Join our book community on Discord II. Technical requirements III. Communicating components i. Using the children prop IV. Exploring the container and presentational patterns V. Understanding HOCs VI. Understanding FunctionAsChild VII. Summary 6. 5 Writing Code for the Browser I. Join our book community on Discord II. Technical requirements III. Understanding and implementing forms i. Uncontrolled components ii. Controlled components IV. Handling events V. Exploring refs VI. Implementing animations i. React Motion VII. Exploring SVG VIII. Summary 7. 6 Making Your Components Look Beautiful I. Join our book community on Discord II. Technical requirements III. CSS in JavaScript IV. Understanding and implementing inline styles V. Exploring the Radium library VI. Using CSS modules i. Webpack 5 ii. Setting up a project iii. Locally scoped CSS
  • 9. iv. Atomic CSS modules VII. Implementing styled-components VIII. Summary 8. 7 Anti-Patterns to Be Avoided I. Join our book community on Discord II. Technical requirements III. Initializing the state using properties IV. Using indexes as a key V. Spreading properties on DOM elements VI. Summary 9. 8 React Hooks I. Join our book community on Discord II. Technical requirements III. Introducing React Hooks i. No breaking changes ii. Using the State Hook iii. Rules of Hooks IV. Migrating a class component to React Hooks V. Understanding React effects i. Understanding useEffect ii. Firing an effect conditionally VI. Understanding useCallback, useMemo, and memo i. Memoizing a component with memo ii. Memoizing a value with useMemo iii. Memoizing a function definition with useCallback iv. Memoizing function passed as an argument in effect VII. Understanding the useReducer Hook VIII. Summary 10. 9 React Router I. Join our book community on Discord II. Technical requirements III. Installing and configuring React Router IV. Creating our sections V. Adding parameters to the routes VI. Summary
  • 10. React 18 Design Patterns and Best Practices, Fourth Edition: Design, build, and deploy production-ready web applications with ease and create powerful user experiences Welcome to Packt Early Access. We’re giving you an exclusive preview of this book before it goes on sale. It can take many months to write a book, but our authors have cutting-edge information to share with you today. Early Access gives you an insight into the latest developments by making chapter drafts available. The chapters may be a little rough around the edges right now, but our authors will update them over time. You can dip in and out ofthis bookorfollow alongfrom start to finish; Early Access is designed to be flexible. We hope you enjoy getting to know more about the process of writing a Packt book. 1. Chapter 1: Taking Your First Steps with React 2. Chapter 2: Introduction to TypeScript 3. Chapter 3: Cleaning Up Your Code 4. Chapter 4: Exploring Popular Composition Patterns 5. Chapter 5: Writing Code for the Browser 6. Chapter 6: Making Your Components Look Beautiful 7. Chapter 7: Anti-Patterns to Be Avoided 8. Chapter 8: React Hooks 9. Chapter 9: React Router 10. Chapter 10: React 18 New Features (New Chapter) 11. Chapter 11: Node 18 New Features (New Chapter)
  • 11. 12. Chapter 12: Managing Data 13. Chapter 13: Server-Side Rendering for Fun and Profit 14. Chapter 14: Understanding GraphQL with a Real Project 15. Chapter 15: MonoRepo Architecture (New Chapter) 16. Chapter 16: Improving the Performance of Your Applications 17. Chapter 17: Testing and Debugging 18. Chapter 18: Deploying to Production
  • 12. 1 Taking Your First Steps with React
  • 13. Join our book community on Discord https://packt.link/EarlyAccess Hello, readers! This book assumes that you already know what React is and what problems it can solve for you. You may have written a small/medium application with React, and you want to improve your skills and answer all of your open questions. You should know that React is maintained by the developers at Meta and hundreds of contributors within the JavaScript community. React is one of the most popular libraries for creating UIs, and it is well known to be fast, thanks to its smart way of working with the Document Object Model (DOM). It comes with JSX, a new syntax for writing markup in JavaScript, which requires you to change your thinking regarding the separation of concerns. It has many cool features, such as server-side rendering, which gives you the power to write universal applications. In this first chapter, we will go through some basic concepts that are essential to master in order to use React effectively, but are straightforward enough for beginners to figure out: The difference between imperative and declarative programming React components and their instances, and how React uses elements to control the UI flow How React changed the way we build web applications, enforcing a different new concept of separation of concerns, and the reasons behind its unpopular design choice Why people feel JavaScript fatigue, and what you can do to avoid the most common errors developers make when approaching the React ecosystem Technical requirements In order to follow this book, you need to have some minimal experience using the terminal to run a few Unix commands. Also, you need to install Node.js. You have two options. The first one is to download Node.js directly from the official website, https://nodejs.org, and the second option (recommended) is to install Node Version Manager (NVM) from https://github.com/nvm-sh/nvm. If you decide to go with NVM, you can install any version of Node.js you want and switch the versions with the nvm install command: # "node" is an alias for the latest version: nvm install node # You can also install a global version of node (will install the latest from that versio nvm install 16 nvm install 15 nvm install 14 nvm install 13 nvm install 12 # Or you can install a very specific version: nvm install 12.14.3 After you have installed the different versions, you can switch them by using the nvm use command: nvm use node # for latest version nvm use 16 # for the latest version of node 16.X.X nvm use 12.14.3 # Specific version
  • 14. Finally, you can specify a default node version by running the following command: nvm alias default node nvm alias default 16 nvm alias default 12.14.3 In short, here is a list of the requirements to complete the chapter: Node.js (18+): https://nodejs.org NVM: https://github.com/nvm-sh/nvm VS Code: https://code.visualstudio.com TypeScript: https://www.npmjs.com/package/typescript You can find the codes in the book’s GitHub repository: https://github.com/PacktPublishing/React-17-Design-Patterns-and-Best-Practices-Third- Edition. Differentiating between declarative and imperative programming When reading the React documentation or blog posts about React, you will have undoubtedly come across the term declarative. One of the reasons why React is so powerful is that it enforces a declarative programming paradigm. Therefore, to master React, it is essential to understand what declarative programming means and what the main differences between imperative and declarative programming are. The easiest way to approach this is to think about imperative programming as a way of describing how things work, and declarative programming as a way of describing what you want to achieve. Entering a bar for a beer is a real-life example in the imperative world, where normally you will give the following instructions to the bartender: 1. Find a glass and collect it from the shelf. 2. Place the glass under the tap. 3. Pull down the handle until the glass is full. 4. Hand me the glass. In the declarative world, you would just say “Can I have a beer, please?” The declarative approach assumes that the bartender already knows how to serve a beer, an important aspect of the way declarative programming works. Let’s move into a JavaScript example. Here we will write a simple function that, given an array of lowercase strings, returns an array with the same strings in uppercase: toUpperCase(['foo', 'bar']) // ['FOO', 'BAR'] An imperative function to solve the problem would be implemented as follows: const toUpperCase = input => { const output = [] for (let i = 0; i < input.length; i++) { output.push(input[i].toUpperCase()) } return output } First of all, an empty array to contain the result is created. Then, the function loops through all the elements of the input array and pushes the uppercase values into the empty array. Finally, the output array is returned. A declarative solution would be as follows: const toUpperCase = input => input.map(value => value.toUpperCase()) The items of the input array are passed to a map function that returns a new array containing the uppercase values. There are some significant differences to note: the former example is less elegant and it requires more effort to be understood. The latter is terser and
  • 15. easier to read, which makes a huge difference in big code bases, where maintainability is crucial. Another aspect worth mentioning is that in the declarative example, there is no need to use variables, nor to keep their values updated during the execution. Declarative programming tends to avoid creating and mutating a state. As a final example, let’s see what it means for React to be declarative. The problem we will try to solve is a common task in web development: creating a toggle button. Imagine a simple UI component such as a toggle button. When you click it, it turns green (on) if it was previously gray (off), and switches to gray (off) if it was previously green (on). The imperative way of doing this would be as follows: const toggleButton = document.querySelector('#toggle') toogleButton.addEventListener('click', () => { if (toggleButton.classList.contains('on')) { toggleButton.classList.remove('on') toggleButton.classList.add('off') } else { toggleButton.classList.remove('off') toggleButton.classList.add('on') } }) It is imperative because of all the instructions needed to change the classes. In contrast, the declarative approach using React would be as follows: // To turn on the Toggle <Toggle on /> // To turn off the toggle <Toggle /> In declarative programming, developers only describe what they want to achieve, and there’s no need to list all the steps to make it work. The fact that React offers a declarative approach makes it easy to use, and consequently, the resulting code is simple, which often leads to fewer bugs and more maintainability. In the next section, you will learn how React elements work and you will get more context on how props are being passed on a React component. How React elements work This book assumes that you are familiar with components and their instances, but there is another object you should know about if you want to use React effectively – the element. Whenever you call createClass , extend Component , or declare a stateless function, you are creating a component. React manages all the instances of your components at runtime, and there can be more than one instance of the same component in memory at a given point in time. As mentioned previously, React follows a declarative paradigm, and there’s no need to tell it how to interact with the DOM; you declare what you want to see on the screen, and React does the job for you. As you might have already experienced, most other UI libraries work the other way round: they leave the responsibility of keeping the interface updated to the developer, who has to manage the creation and destruction of the DOM elements manually. To control the UI flow, React uses a particular type of object, called an element, which describes what has to be shown on the screen. These immutable objects are much simpler compared to the components and their instances and contain only the information that is strictly needed to represent the interface. The following is an example of an element: { type: Title, props: { color: 'red', children: 'Hello, Title!'
  • 16. } } Elements have type , which is the most important attribute, and some properties. There is also a particular property, called children , that is optional and represents the direct descendant of the element. type is important because it tells React how to deal with the element itself. If type is a string, the element represents a DOM node, while if type is a function, the element is a component. DOM elements and components can be nested with each other as follows, to represent the render tree: { type: Title, props: { color: 'red', children: { type: 'h1', props: { children: 'Hello, H1!' } } } } When the type of the element is a function, React calls the function, passing props to get back the underlying elements. It keeps on performing the same operation recursively on the result until it gets a tree of DOM nodes that React can render on the screen. This process is called reconciliation, and it is used by both React DOM and React Native to create the UIs of their respective platforms. React is a game-changer, so at the beginning, the React syntax might seem weird to you, but once you understand how it works, you will love it, and for this, you need to unlearn everything you know so far. Unlearning everything Using React for the first time usually requires an open mind because it is a new way of designing web and mobile applications. React tries to innovate the way we build UIs following a path that breaks most of the well-known best practices. In the last two decades, we learned that the separation of concerns is important, and we used to think about it as separating the logic from the templates. Our goal has always been to write the JavaScript and the HTML in different files. Various templating solutions have been created to help developers achieve this. The problem is that most of the time, that kind of separation is just an illusion and the truth is that the JavaScript and the HTML are tightly coupled, no matter where they live. Let’s see an example of a template: {{#items}} {{#first}} <li><strong>{{name}}</strong></li> {{/first}} {{#link}} <li><a href="{{url}}">{{name}}</a></li> {{/link}} {{/items}} The preceding snippet is taken from the Mustache website, one of the most popular templating systems. The first row tells Mustache to loop through a collection of items. Inside the loop, there is some conditional logic to check whether the #first and #link properties exist and, depending on their values, a different piece of HTML is rendered. Variables are wrapped in curly braces. If your application only has to display some variables, a templating library could represent a good solution, but when it comes to starting to work with complex data structures, things
  • 17. change. Templating systems and their Domain-Specific Language (DSL) offer a subset of features, and they try to provide the functionalities of a real programming language without reaching the same level of completeness. As shown in the example, templates highly depend on the models they receive from the logic layer to display the information. On the other hand, JavaScript interacts with the DOM elements rendered by the templates to update the UI, even if they are loaded from separate files. The same problem applies to styles – they are defined in a different file, but they are referenced in the templates, and the CSS selectors follow the structure of the markup, so it is almost impossible to change one without breaking the other, which is the definition of coupling. That is why the classic separation of concerns ended up being more the separation of technologies, which is, of course, not a bad thing, but it doesn’t solve any real problems. React tries to move a step forward by putting the templates where they belong – next to the logic. The reason it does that is that React suggests you organize your applications by composing small bricks called components. The framework should not tell you how to separate the concerns because every application has its own, and only the developers should decide how to limit the boundaries of their applications. The component-based approach drastically changes the way we write web applications, which is why the classic concept of separation of concerns is gradually being taken over by a much more modern structure. The paradigm enforced by React is not new, and it was not invented by its creators, but React has contributed to making the concept mainstream and, most importantly, popularized it in such a way that it is easier to understand for developers with different levels of expertise. Rendering of a React component looks like this: return ( <button style={{ color: 'red' }} onClick={this.handleClick}> Click me! </button> ) We all agree that it seems a bit weird in the beginning, but that is just because we are not used to that kind of syntax. As soon as we learn it and we realize how powerful it is, we understand its potential. Using JavaScript for both logic and templating not only helps us separate our concerns in a better way, but it also gives us more power and more expressivity, which is what we need to build complex UIs. That is why even if the idea of mixing JavaScript and HTML sounds weird in the beginning, it is vital to give React 5 minutes. The best way to get started with new technology is to try it on a small side project and see how it goes. In general, the right approach is always to be ready to unlearn everything and change your mindset if the long-term benefits are worth it. There is another concept that is pretty controversial and hard to accept, and that the engineers behind React are trying to push to the community: moving the styling logic inside the component, too. The end goal is to encapsulate every single technology used to create our components and separate the concerns according to their domain and functionalities. Here is an example of a style object taken from the React documentation: const divStyle = { color: 'white', backgroundImage: `url(${imgUrl})`, WebkitTransition: 'all', // note the capital 'W' here msTransition: 'all' // 'ms' is the only lowercase vendor prefix } ReactDOM.render(<div style={divStyle}>Hello World!</div>, mountNode) This set of solutions, where developers use JavaScript to write their styles, is known as #CSSinJS , and we will talk about it extensively in Chapter 8, Making Your Components Look Beautiful. In the next section, we will see how to avoid JavaScript fatigue, which is caused by the large number of configurations that are needed to run a React application (webpack mainly). Understanding JavaScript fatigue
  • 18. There is a prevailing opinion that React consists of a vast set of technologies and tools, and if you want to use it, you are forced to deal with package managers, transpilers, module bundlers, and an infinite list of different libraries. This idea is so widespread and shared among people that it has been clearly defined, and has been given the name JavaScript fatigue. It is not hard to understand the reasons behind this. All the repositories and libraries in the React ecosystem are made using shiny new technologies, the latest version of JavaScript, and the most advanced techniques and paradigms. Moreover, there is a massive number of React boilerplate on GitHub, each with tens of dependencies to offer solutions for any problems. It is straightforward to think that all these tools are required to start using React, but this is far from the truth. Despite this common way of thinking, React is a pretty tiny library, and it can be used inside any page (or even inside JSFiddle) in the same way everyone used to use jQuery or Backbone, just by including the script on the page before the closing body element. There are two scripts because React is split into two packages: react : Implements the core features of the library react-dom : Contains all the browser-related features The reason behind this is that the core package is used to support different targets, such as React DOM in browsers and React Native on mobile devices. Running a React application inside a single HTML page does not require any package manager or complex operation. You can just download the distribution bundle and host it yourself (or use https://unpkg.com/), and you are ready to get started with React and its features in a few minutes. Here are the URLs to be included in the HTML to start using React: https://unpkg.com/react@18.2.0/umd/react.production.min.js https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js If we add the core React library only, we cannot use JSX because it is not a standard language supported by the browser; but the whole point is to start with the bare minimum set of features and add more functionalities as soon as they are needed. For a simple UI, we could just use createElement ( _jsx since React 17) and only when we start building something more complex can we include a transpiler to enable JSX and convert it into JavaScript. As soon as the app grows a bit more, we may need a router to handle different pages and views, and we can include that as well. At some point, we may want to load data from some API endpoints, and if the application keeps growing, we will reach the point where we need some external dependencies to abstract complex operations. Only at that very moment should we introduce a package manager. Then, the time will come to split our application into separate modules and organize our files in the right way. At that point, we should start thinking about using a module bundler. Following this simple approach, there’s no fatigue. Starting with a boilerplate that has 100 dependencies and tens of npm packages of which we know nothing is the best way to get lost. It is important to note that every programming-related job (and frontend engineering in particular) requires continuous learning. It is the nature of the web to evolve at a breakneck pace and change according to the needs of both users and developers. This is the way our environment has worked since the beginning and is what makes it very exciting. As we gain experience working on the web, we learn that we cannot master everything and we should find the right way to keep ourselves updated to avoid fatigue. We are able to follow all the new trends without jumping into the new libraries for the sake of it unless we have time for a side project. It is astonishing how, in the JavaScript world, as soon as a specification is announced or drafted, someone in the community implements it as a transpiler plugin or a polyfill, letting everyone else play with it while the browser vendors agree and start supporting it. This is something that makes JavaScript and the browser a completely different environment compared to any other language or platform. The downside of it is that things
  • 19. Random documents with unrelated content Scribd suggests to you:
  • 20. MRS. T. (aside and looking at ROYSTON). Really a vastly agreeable young man! Enter COLONEL at R. H. COL. So Royston has arrived, has he? (Seeing BASIL.) Heyday! why, this is Basil—his younger brother! ROYS. At your service, colonel. MRS. T. You are acquainted, then? COL. I was intimate with his mother’s family—indeed, I may say I was the means of getting him a nomination to the Blue Coat school. BART. (aside). This is deuced awkward! MRS. T. The Blue Coat school? I thought you said Tunbridge Wells? ROYS. (recollecting). Yes; that was before—I mean after— COL. (aside and suspiciously). I suspect these young fellows are playing some little game of their own; and, what’s more, I can pretty well guess what it is! MRS. T. (aside to COLONEL). As Mr. Royston is an entire stranger to me, may I ask you, Cousin Samuel, what is the opinion you have formed of him? COL. Oh! a very charming young man, indeed! Most respectable family! an ample income already, with great expectations from a couple of aunts and a godmother! A little wild at present, perhaps, but he’ll soon settle down when he’s married! Ah! happy the woman who makes a conquest of such a man! (Aside.) There! now I’m in the conspiracy too! MRS. T. (to ROYSTON). Your friend Mr. Barton does not leave here till to-morrow; you, I hope, will also defer your departure till
  • 21. then? BART. (quickly to ROYSTON). Of course you will! (To MRS. T.) Of course he will! (To ROYSTON.) You’ll be only too delighted! (To MRS. T.) He’ll be only too delighted! MRS. T. Ah! here’s my niece! (going up to meet JULIA, who enters at C.). ROYS. (seeing JOSEPHINE, who at the same moment enters at R. H.). Look! what a charming creature! BART. No, no! it isn’t she! it’s the other! Look there! (pointing to JULIA). There’s a figure! there’s a symmetry! Look at those finely- chiselled features! ROYS. Yes, yes! but still, in my opinion (looking admiringly at JOSEPHINE)— BART. Your opinion, indeed! Pshaw! what do you know about it? JOSEPHINE (aside to COLONEL, and pointing to ROYSTON). What! has Harry found somebody already? MRS. T. Julia, my dear, allow me to present Mr. Royston, an old friend of Mr. Barton’s (JULIA courtesies stiffly to ROYSTON). BART. (to ROYSTON). There’s a courtesy! that’s what I call a courtesy! ROYS. Yes! but, as I said before, of the two I prefer (looking at JOSEPHINE)— BART. You prefer, indeed! Surely I must know better than you! (To JULIA.) My friend Royston, a distinguished amateur of the fine arts, is in raptures with your sketches, Miss Julia. (JULIA courtesies stiffly again.) JOSEPHINE (to JULIA). Why don’t you thank Mr. Royston, sister? ROYS. (aside to BARTON). Oh! she’s the sister—eh?
  • 22. BART. (with pretended indifference). Yes, a little, harmless, insignificant school-girl— ROYS. Still, I repeat, if I had to choose between them— BART. Pshaw! my dear fellow, if you only knew what nonsense you’re talking! (Aside.) Zounds! I hope he isn’t going to fall in love with Josephine! COL. Sorry to interrupt, but my time is precious, and business must be attended to. Mr. Royston, will you step into the dining- room with your papers? Barton, you’ll come too? JOSEPHINE (hastily aside to BARTON). I understand it all, Harry. A very nice young man, indeed! and likely to stand a good chance. Don’t you think so? Where did you pick him up so soon? BART. Hush! I’ll explain everything another time. [COLONEL and MRS. TEMPLETON exeunt at R. H., followed by BARTON and ROYSTON. ROYSTON stops, turns, and makes a profound bow to JOSEPHINE. BARTON pushes him out. JOSEPHINE (aside). I wonder what she thinks of him? (Aloud.) A very gentlemanly young man, Mr. Royston, don’t you think so, Julia? JULIA (indifferently). I scarcely looked at him. JOSEPHINE (aside). That’s not very encouraging! (Aloud.) How do you manage to find so many admirers? I can’t! JULIA (smiling). Hitherto, perhaps, I may have had the lion’s share of attention, homage, and professed admiration; but your turn will come. JOSEPHINE. It’s a long time about it! You are so difficult to please. And poor Mr. Royston, I suppose, will be snubbed like the rest!
  • 23. JULIA (reprovingly). Josephine! surely you don’t imagine— JOSEPHINE. That there is some attraction for him here? Of course I do! It can’t be Aunt Martha—nor I! I’m only a child! (with affected humility). JULIA. Josephine, you speak as though you were piqued, vexed —I might almost say envious! JOSEPHINE. Envious? I? Of what? JULIA (sighing). Of what, indeed! Ah, dear one, the privileges of an elder sister are not so enviable after all! What is often her lot?— to be constantly exposed to flattery—adulation from the lips of strangers—compelling her to assume an extreme reserve in order to modify the exaggerated and at times indelicate encomiums of relatives and friends. What is the necessary result? Doubt, distrust, suspicion—nay, even prejudice, oftentimes unjust, against those who profess a desire to please! On this impulse I have acted—an impulse dictated by self-respect and a due sense of my own dignity! JOSEPHINE (aside). What a serious tone! (Aloud.) But just think how cruelly, how unjustly you may have acted. And I’m sure, as for Mr. Royston— JULIA. Mr. Royston again! Silly child! JOSEPHINE. Child? Perhaps I could mention a little fact that—that —but I won’t! (Aside.) Good-by to my secret if I did! (Aloud.) Good-by! JULIA. Are you going to leave me too? JOSEPHINE. Haven’t I got to write out all the invitations for our ball on the 23d? JULIA. Your birthday?—true.
  • 24. JOSEPHINE. Yes; that is the professed reason—but of course it is on your account that it is given. JULIA (reproachfully). Josephine! JOSEPHINE. I know a younger sister’s duty, Miss Templeton (makes a low courtesy and exit L. H.). JULIA. Josephine! sister!—Did she but know how she misjudges me! How heavily I have been punished for that pride, that apparent insensibility, with which she reproaches me! Oh, Harry! Harry! could you but tell how bitterly I have repented! But surely, surely the cruel, wicked indifference with which I treated his affection, his devotion, cannot have entirely destroyed them—some little spark of the old flame must still remain! else why is he so constantly here? Why does he still seem to seek my presence? At any rate, he shall see that I am no heartless coquette; and when this Mr. Royston presents himself, as I’m sure he will (seeing ROYSTON, who enters from R. H.)— I thought so! ROYS. (aside). She’s alone! She’s decidedly handsome. Yet, as I said before, there’s something about the other that—that— (Aloud, and bowing to JULIA.) Miss Templeton! JULIA (courtesying). Sir! the business matter in which you are engaged is, I presume, settled? ROYS. Yes; the signatures alone are required. JULIA. In that case perhaps I had better— (About to retire.) ROYS. One moment, I beg! (Aside.) She’s decidedly very handsome! Still—don’t know how it is—but there is certainly something about the other that—that— (Aloud.) Before leaving this house to-morrow, with my new acquaintance—I mean my old friend Barton— JULIA (quickly). Mr. Barton leaves to-morrow?
  • 25. ROYS. Yes, alas! I say “alas,” because one day only is now left for me to admire your physical attractions, your mental accomplishments— JULIA. Oh, sir! Believe me, my sister is far more accomplished than I am. ROYS. Far be it from me to deny it. Still, from the highly eulogistic terms in which every one speaks of you—your sister among the first— JULIA. Ah, sir! Dear Josephine is so amiable, so affectionate, so good, so loving, so angelic— ROYS. (aside). She sticks up for her sister, that I will say! (Aloud.) Still, there are certain attractions which we can all judge of by our own eyes. JULIA (quickly). And who can possess them to a greater degree than Josephine? Such exquisite grace—such absolute perfection of form and feature— ROYS. (aside). Her sister again! If we go on at this rate, we sha’n’t get on very fast! (Aloud.) Allow me to be frank with you; my brother Jonathan—but perhaps you’ve never heard of Jonathan?— Jonathan Royston, of Banbury—where the cakes come from—well, he often reproaches me with being what he calls rather wild and fast and flighty— JULIA. The only fault I find with Josephine, dear child. She is so giddy, so thoughtless, so excitable! What a capital match you’d make! Ha, ha, ha! ROYS. (aside). That’s a pretty broad hint! (Aloud.) And he—I mean Jonathan—says that the best thing I could do would be to get married! JULIA. The very conclusion I have come to about Josephine.
  • 26. ROYS. (aside). It really looks as if she wanted to turn me over to her sister. (Aloud.) And having received the flattering assurance that my pretensions to your hand might possibly not be unsuccessful— JULIA. From whom, pray? Doubtless from my aunt. ROYS. Oh no! From my dear old friend, Barton. JULIA (indignantly). Mr. Barton? He? No, no! I cannot, will not believe it! ROYS. I’m sure he will not deny it—and see, fortunately, he’s here! Enter BARTON at door R. H. BART. Miss Templeton, your presence is required in the drawing- room. JULIA (very coldly, and seating herself at table). Presently. BART. (aside to ROYSTON). Well, what news? ROYS. (aside). All right! At least, if it isn’t this one, it’ll be the other! One of the two! BART. What do you mean by “the other?” ROYS. The “little, harmless, insignificant school-girl,” you know! BART. (aside). Confound the fellow! ROYS. You first put the notion of marriage into my head, and I won’t leave this house a bachelor; I’ll marry somebody! I leave you together! You’ll plead my cause, won’t you?—and pitch it strong, won’t you? I shall be all anxiety to know the result—because if she won’t have me, I can fall back on the other. Don’t you see? (shaking BARTON’S hand, and runs out at C.).
  • 27. BART. (aside, and looking at JULIA). To have to plead the cause of another, when, in spite of me, her presence will recall the past, painful, humiliating as it is! JULIA (with indifference). Your friend has left you, Mr. Barton? BART. He has, Miss Templeton; but he has left an advocate to intercede with you on his behalf. JULIA (satirically). A willing and an earnest one, no doubt, who probably has already furnished him with a detailed catalogue of my tastes, habits, pursuits, disposition— BART. (aside). He’s been blabbing! (Aloud.) Surely he cannot have betrayed my confidence? JULIA (with suppressed anger). The charge of “betrayal of confidence” should rather be levelled at one who by his intimacy with a family, into which he is admitted on terms of friendship, is enabled to study the characters of its members for the purpose of retailing the result of his observations to others! BART. I will not affect to misunderstand your reproof. It is true that I spoke of you to Mr. Royston in terms which you fully merit— that I even told him your heart was free. JULIA. Perfectly, absolutely free! You undertook to be his advocate with such zeal, such earnestness, one might almost imagine you had some personal interest. BART. And what if I had an interest—a powerful interest? JULIA (quickly). Indeed? BART. Yes. And after the somewhat harsh rejection I met with at your hands—which, no doubt, I fully merited—what greater proof can I give of the esteem in which I still hold you than to confide my secret to you? JULIA (starting). A secret? (Aside.) What can he mean?
  • 28. BART. That, on the eve of leaving your family, I should feel far less regret could I but indulge in the hope of ever becoming connected with it by a closer tie. JULIA (aside, and joyfully). Can it be? Has he forgotten— forgiven? Can he still care for me? (Aloud.) But why this silence— this want of confidence in me? BART. Frankly, because we feared you would oppose our wishes, our hopes. JULIA (eagerly). Our hopes? We feared? BART. Yes! She especially. JULIA. She? Of whom are you speaking? Her name? BART. Surely I must have mentioned it? Your sister. JULIA (starting from her chair). Josephine! BART. Yes; rejected by her elder sister, I sought and found solace and consolation in her goodness and sympathy. JULIA (with increasing anger). So! Your frequent visits, your constant presence here, apparently so inconsistent with your “wounded feelings” (satirically), are now explained! It was for her! And I was to be kept in ignorance—to fancy, to believe, to hope— BART. (surprised). Miss Templeton! JULIA. I now understand this anxiety to dispose of my hand— this crowd of admirers thrown in my way! What mattered my feelings—my happiness? I was an obstacle to be removed! (with increasing excitement). BART. I implore you— JULIA (stamping her foot). Silence, sir! Enter MRS. TEMPLETON hurriedly at R. H.
  • 29. MRS. T. What is the matter here? Julia! what means this excitement—this agitation? Perhaps you, sir (to BARTON)— BART. I am as much surprised as yourself, madam! I ventured to confide to Miss Julia my pretensions to the hand of her sister— MRS. T. (with a scream). What! You had the cruelty, the barbarity to make such an avowal to her elder sister? (advancing upon BARTON, who retreats)—to lacerate her feelings! to wound her pride! JULIA. Yes, that’s it!—to wound my pride! BART. But really— MRS. T. Silence, young man! I remember what my feelings were when my younger sister was married before me. I was choking, sir! suffocating, sir! I turned positively purple! all sorts of colors, sir! And here is a little pert, forward chit, daring to follow her Aunt Dorothy Jane’s example!—but here she comes. (Enter COLONEL from R. H., and JOSEPHINE from L. H.) So, miss (advancing angrily on JOSEPHINE), a pretty account I’ve heard of you! To mix yourself up at your age in a silly romance—a nonsensical love-intrigue— COL. (interfering). But, my dear Martha— MRS. T. (turning sharply on him). Hold your tongue, Cousin Samuel! JOSEPHINE. But, aunt, if you’ll only allow me— MRS. T. But I won’t allow you! (To JULIA.) Keep up your spirits, poor persecuted victim! JOSEPHINE. Victim? It seems to me that I’m the victim! Just as I thought I was going to be married and settled! (beginning to sob; COLONEL tries to pacify her). MRS. T. Married and settled, indeed! A child—a baby like you! (To BARTON.) After what has occurred, sir, you will see that your
  • 30. further presence under this roof— BART. (bowing). I fully understand, madam! MRS. T. (to JOSEPHINE). Come, miss, follow me! (JOSEPHINE about to speak.) Not a word! It is for me to speak, as you’ll find I intend to do, and to some purpose. This way! (making JOSEPHINE pass before her; she and JULIA follow her out at R. H.). COL. Wheugh! here’s a pretty piece of business! BART. Not satisfied with rejecting me herself, she carries her prejudice, her hate so far as to— COL. Hate? nonsense! (Suddenly.) By Jove! I have it!—at least I think I have. What if she should feel a “sneaking kindness” for you, after all? BART. Pshaw! COL. But what about friend Royston? BART. Hang friend Royston! COL. With all my heart; but where the deuce is he? BART. Waiting somewhere or other to hear the result of my interview with Miss Templeton. COL. In which you undertook to plead his cause—eh? BART. Yes; and forgot all about it in my anxiety to plead my own! COL. What’s that? Do you mean to say you confided to her the secret between you and Josephine? BART. Yes; trusting in her generous nature and her sisterly affection, I certainly did! COL. And a pretty mess you’ve made of it! Well, I must find Royston and let him know. As for you, as you’ve received orders to
  • 31. march, the sooner you pack up and pack off the better! (hurries out at C.). (Door at R. H. opens, and JOSEPHINE peeps in.) JOSEPHINE. Harry! Are you alone?—quite alone? (hurries forward). BART. Yes. What is it? JOSEPHINE. Such a discovery! (in a very mysterious tone). She’s got one! BART. She? Who? JOSEPHINE. Julia! BART. Got one? Got what? JOSEPHINE. A young man! shut up in a box! BART. In a box? JOSEPHINE. Listen. After being well scolded by Aunt Martha, I followed Julia to her room. There she was, with a little open box before her, out of which she took something, looked at it, then pressed her lips to it, and gave such a sigh!—you might have heard it here! perhaps you did? BART. Well? JOSEPHINE. Then aunt called her, and she hurried out of the room, leaving the box on the table; and then—then—somehow or other—here it is! (producing a small casket). It looks as if there was a young man inside—I mean a portrait—doesn’t it? BART. You’ve not opened it? (eagerly). JOSEPHINE. No! That’s for Aunt Martha to do!
  • 32. BART. Surely you would not betray your sister’s secret—perhaps her happiness? JOSEPHINE. Much she cared about mine, didn’t she? Aunt Martha must and shall see it! (going; BARTON stops her, the box falls on stage and opens). There! there! how clumsy you are! BART. (picks up the box, and then suddenly starting). What do I see? JOSEPHINE. That’s what I want to know! It is a portrait, isn’t it? BART. (confused). Yes!—no! a mere fancy sketch, nothing more! (taking miniature from box, and hastily concealing it in his breast- pocket). Be persuaded by me! replace the box where you found it! (giving box to her). JOSEPHINE. Mayn’t I take just one little peep?—not that I’ve an atom of curiosity! BART. No, no! JOSEPHINE. Well, if you insist on it. BART. I do not insist, I beg, implore of you. JOSEPHINE. Very well! (hurries out at R. H.). BART. (watching her out, then taking miniature out and looking at it). My portrait! and what is written here? (Reading.) “From memory.” What am I to think? Can I dare to hope that her indifference was assumed—that she ever loved me—that she loves me still? Can such happiness be mine? Dear, dear Julia. But zounds! what about Josephine? Poor little girl! I can’t marry them both! What—what is to be done? (walking up and down). Will anybody tell me what’s to be done? Enter ROYSTON hurriedly at C.
  • 33. ROYS. (coming down). Oh, here you are! I couldn’t wait any longer! (following BARTON up and down). BART. (impatiently). Don’t worry! don’t bother! ROYS. (astonished). Bother! when I want to thank you for introducing me to this charming, amiable family, and to tell you I don’t despair of becoming one of it! BART. What? ROYS. In a word, I’m in love! There’s no mistake about it! Over head and ears in love! BART. What, sir? you persist in carrying on this absurd, ridiculous joke? ROYS. Joke? BART. Yes, sir; I beg to tell you I’ll not allow, I’ll not permit you to annoy poor dear Julia—I mean Miss Templeton—with your unwelcome attentions, sir—your absurd importunities, sir? ROYS. Miss Templeton? My dear fellow, she’s nothing whatever to do with it! It’s the other! the little one! BART. (joyfully). Josephine? ROYS. Yes. BART. My dear fellow! Come to my arms! (throwing his arms about ROYSTON, who struggles). I congratulate you! I give you joy! Such a sweet, charming, amiable creature, brimful of talent, overflowing with tenderness. Come to my arms again! (embracing ROYSTON again). ROYS. Then you’ll speak for me—eh? BART. Speak for yourself—here she comes. Enter JOSEPHINE hurriedly at R.
  • 34. JOSEPHINE (stopping on seeing ROYSTON). Mr. Royston. BART. (aside to ROYSTON). Now, then, speak out! don’t be afraid! put on a sentimental look. ROYS. (assuming a very lackadaisical look). This sort of thing! (Aloud.) Miss Josephine—I—I— (Aside.) It’s very awkward! if I only knew how to begin. BART. (aside to him). Go on! ROYS. Pardon my frankness, but it has been impossible for me to find myself in your charming society without being captivated— enchanted—by your fascinations, your— JOSEPHINE (surprised). I thought it was my sister who— ROYS. So it was! but she wouldn’t have me! that’s why I— BART. (hastily aside to him). No! that won’t do! ROYS. (shouting). No! that won’t do! JOSEPHINE. (still more astonished). And you don’t hesitate to address me in this language before— (pointing to BARTON). ROYS. Before my friend—my bosom friend—that I went to school with at Bagnigge Wells? Why should I? It is he who encourages me—who tells me to “go on.” You told me to “go on,” didn’t you? JOSEPHINE (with intention, and looking at BARTON). But has it never occurred to you that you might have a rival? ROYS. So much the better! I should make it my immediate business to sweep him off the face of the earth! JOSEPHINE (to BARTON, in a sarcastic tone). And you, sir! you can listen with perfect calmness, indifference! Have you nothing to say? ROYS. Yes! Have you nothing?—
  • 35. BART. (aside to him). Hold your tongue! (Aloud, and with affected solemnity.) Ah! who can anticipate events? How little do we know what a few hours may bring forth! ROYS. Yes! how little do we know!— BART. (aside to him again). Hold your tongue! (Aloud.) In a word, what if circumstances compel me to leave England for a considerable time? JOSEPHINE. A considerable time? BART. Yes; for two years at least—possibly more! JOSEPHINE. Two or three years? BART. Could I venture to hope that you would submit to such a tax on your goodness—your patience? JOSEPHINE (very quickly). I should think not, indeed! BART. (aside). She doesn’t love me! Huzza! (Aloud.) What course is, then, open to me? One—only one: to sacrifice myself to the happiness of my friend! ROYS. (grasping his hand). Glorious creature! JOSEPHINE. But what about your own happiness? It isn’t likely you could give me up so quietly without some other reason—some other motive! BART. I have another motive, which for your sister’s sake you will respect! In a word, that portrait— JOSEPHINE. In Julia’s box? Yes. Well? BART. Was mine! See! (taking out portrait and showing it). JOSEPHINE (exclaiming). Yours? It is! ROYS. Yours? It is! (bewildered). JOSEPHINE. Then—then you are her young man, after all?
  • 36. ROYS. Yes. You are her young man— JOSEPHINE. Of course; now I understand. Now I see it all. ROYS. So do I! No, I don’t! At least, not quite. Enter COLONEL hurriedly at C. COL. (singing as he comes in). “See, the conquering hero comes.” Victory! victory! Everything’s settled; and now, my dear young friends (shaking BARTON’S and JOSEPHINE’S hands), you can get married as soon as you like. JOSEPHINE. }(together). Married? BART. ROYS. COL. Yes! I had a devil of a fight for it, but I’ve carried the day! Aunt Martha consents, Julia consents, everybody consents! ROYS. I beg your pardon! I don’t! (Shouting). I forbid the banns! Enter MRS. TEMPLETON, followed by JULIA, at R. H. JULIA (aside, as she sees BARTON). Still here! JOSEPHINE. So, Aunt Martha, you’ve given your consent? And you, too, Julia? JULIA (endeavoring to conceal her emotion). Yes, Josephine, willingly, gladly! Can I be indifferent to your happiness? (smiling sadly). JOSEPHINE (aside). How bravely she bears herself! (Aloud.) And yet, just now, you were so indignant, so angry with me?
  • 37. JULIA. A momentary caprice, an unworthy jealousy!—but no more of that. Kiss me, dear sister! (kissing JOSEPHINE and moving away). JOSEPHINE (aside). A tear? But you won’t suffer long, poor dear martyr! (Suddenly bursting into loud laughter.) Ha! ha! ha! (Aside to COLONEL.) Laugh! COL. (forcing laugh). Ha! ha! ha! (Aside.) Laugh! ROYS. (very loud). Ha! ha! ha! (Aside.) I don’t know what I’m laughing about. MRS. T. What is the matter? JOSEPHINE (laughing again). Ha! ha! ha! You don’t mean to say you’ve all been taken in? Did you think we were in earnest all the time? Ha! ha! ha! (Aside to COLONEL.) Laugh! COL. Ha! ha! ha! ROYS. (very loud). Ha! ha! ha! MRS. T. (impatiently). Josephine, I insist on your explaining this extraordinary behavior instantly! JOSEPHINE. Nothing so simple. (To COLONEL and BARTON.) There’s no necessity for our carrying on this innocent little jest any longer, is there? MRS. T. Jest? JOSEPHINE. Yes; this harmless conspiracy to make everybody happy! Julia dear, it was to test your love for me that I pretended to be so very anxious to get married, which I wasn’t the least little bit in the world (with a sly look at ROYSTON). I mean I wasn’t then! My fellow-conspirator, Mr. Barton, fearing that your rejection of him might proceed from a preference for another, joined in the plot, but very unwillingly, for it is you, Julia, you alone, that he has ever loved; you alone that he loves still!
  • 38. MRS. T. What is it I hear? BART. The truth, madam! (To JULIA.) May I hope, or must I endure a second refusal! JULIA (tenderly). I suffered too much from the first, Harry (giving her hand to BARTON). ROYS. (aside). That’s one couple; but there’s room for another. (To MRS. TEMPLETON.) Madam, I have the honor to solicit the hand of your younger niece, Miss Josephine! MRS. T. With all my heart, Mr. Royston; that is, unless Josephine objects. JOSEPHINE (quickly). But she doesn’t! (giving her hand to ROYSTON). BART. You see, Jonathan will be satisfied, after all. ROYS. Yes. But poor Sophia (sighing). BART. Hush! (Aside to JULIA, and slipping the portrait into her hand.) You’ll put this portrait back in its place. JOSEPHINE. She won’t care to look at it, now that she’s got the original. THE CURTAIN FALLS.
  • 39. PEPPERPOT’S LITTLE PETS! In One Act. DRAMATIS PERSONÆ. JACK PEPPERPOT, late H. M. 147th Foot. DOCTOR JACOBUS JOGTROT. MR. CHRISTOPHER CHIRPER. STEPHEN BLUNT. MRS. TARLETAN. JESSIE (her niece). MARTHA (a servant). SCENE.—Mrs. Tarletan’s Villa at Hampstead. Elegantly furnished room at MRS. TARLETAN’S villa. French windows at back showing garden beyond; doors R. H. 3 E. and L.; fireplace at L. H. 2 E.; table, chairs, sofa, etc. MARTHA discovered arranging furniture, etc. (bell heard without). MARTHA. There’s the gate bell beginning. Butcher for orders, I suppose. (Bell heard again.) I thought so; he’s the most impatient young man I ever came across! Asked me if I’d marry him only yesterday morning when he called for orders, and was quite saucy because I hadn’t made up my mind when he brought the meat! I must go and ask missus. (Exit door R. JACK PEPPERPOT is seen to
  • 40. cross at back beyond the French windows; looks cautiously in at C.). JACK. No one to be seen; so much the better. (Calling off.) Now then, Blunt, come along! take care how you turn the corner; that’ll do. (Enters at C., walking backward, closely followed by STEPHEN BLUNT, in an undress military jacket and cap, carrying a box covered with Chinese characters.) Left wheel! halt. (Takes box carefully from BLUNT and places it on small table—opens lid.) Nothing broken, I hope. No; I don’t even see a chip! BLUNT. That’s a wonder, too, your honor! cups and saucers is rather a delicate sort of cargo to bring all the way from China. JACK (looking at watch). Nine o’clock! I wonder if my dear, excellent old aunt is still indulging in a horizontal position? We reached town so late last night, I was afraid to disturb the dear old soul. (Looking round him.) Blunt, it strikes me we shall find our quarters here very comfortable—eh? (falling into chair and stretching out his legs). BLUNT. I think so too, your honor (imitating JACK, then jumping up again and saluting). Beg pardon, your honor! but when you say our quarters— JACK. I mean our quarters! You wouldn’t think of leaving me, you brute, would you? Haven’t we spent the last ten years of our lives together—more or less respectably?—and if I have got back to Old England again, sound in wind and limb, who have I to thank? who but you, you fine faithful old dog you (laying his hand on BLUNT’S shoulder). BLUNT (deprecatingly). Oh! oh! JACK. If you forget a certain sabre cut I received at the Alma, I don’t. BLUNT. Oh! oh! just a little bit of a scratch.
  • 41. JACK. Exactly; a little bit of a scratch that began at the top of my head and finished at the tip of my nose! I was lying on my back faint and sick, when a noble, lion-hearted fellow cut his way through the Russian cavalry at the risk of his life, the idiot, threw me across his horse, and saved me! That noble, lion-hearted idiot was Stephen Blunt—bless him! But enough of the past! By-the-bye, Blunt, as long as you are stationed here you must make it a point of finding everybody and everything about you charming, delightful —in short, first chop! BLUNT (touching his cap). All right, your honor! MRS. TARLETAN (heard without). If I am wanted, Martha, you’ll find me in the garden. JACK. Here comes my aunt; beat a retreat—quick, anywhere. [BLUNT hurries out at L. H. Enter MRS. TARLETAN at R. MRS. T. (seeing JACK). A stranger? JACK (smiling). Not quite. (Going to her.) Don’t you know me, aunt? MRS. T. Eh? (Suddenly.) Jack dear, dear boy! (JACK clasps her in his arms). Kiss me again, Jack. JACK. Again and again till you tell me to leave off (kissing her again). MRS. T. Let me look at you (holding his head between her hands). It is ten long years since I have seen you, my darling boy: and has it come back from China, a dear? JACK. It has—all the way!
  • 42. MRS. T. (pulling his cheek affectionately). And is it glad to get home? JACK. Is it? ain’t it? Ah! after knocking about the world for ten years, you don’t know how happy a fellow feels in getting back to his aunt and having his cheeks pulled about. By-the-bye, aunt, what d’ye think?—what with my prize-money, the sale of my commission, and one thing and the other, I find I’ve managed to scrape together a matter of £10,000. MRS. T. Ten thousand? that’s a large sum of money, my dear. JACK. An awful lot, isn’t it? the puzzle is, what I’m to do with it. MRS. T. My advice is, invest in land; they say “Stick to the land, and the land will stick to you.” JACK. I know mud will—at least it did in the Crimea. MRS. T. My dear Jack, do be serious! Now that you are worth £500 a year— JACK. Five hundred a year! I shall never spend the half of it. MRS. T. Then get a wife to help you. JACK. A wife! me? what for?—why, my dear aunt, here are no end of clever people complaining of the over-population of the country, and you want me to— (Shaking his head.) No, no! MRS. T. Well, well, we’ll say no more about it; though it’s a pity —a great pity! JACK. A pity! what do you mean? MRS. T. Nothing! a fancy, a dream of mine—that’s all. (JESSIE is heard singing a snatch of a song without—runs in from R. H.)
  • 43. JESSIE (running to MRS. TARLETAN and kissing her). Good- morning, aunty dear. (Suddenly, seeing JACK.) A stranger! Really, sir —I—I— (Courtesying.) JACK (bowing to JESSIE). So do I, I’m sure, miss! very much indeed. MRS. T. (smiling). “Sir” and “miss?” Why, Jack, have you forgotten Jessie? JACK. Eh? what? little Jessie! JESSIE. Cousin Jack! JACK (taking both JESSIE’S hands). Dear, dear, when I remember what a tiny little mite you were ten years ago! about so high! (measuring about a foot). Why, I used to teach you A B C, didn’t I? And now I suppose you’re quite an accomplished young lady? JESSIE. Tolerably so, I hope, cousin. JACK. Then you deserve a prize; and here it is (opening box on table, takes out a fan and presents it to JESSIE). The reward of merit. JESSIE. Oh, what a beautiful Chinese fan! Oh, thank you, cousin! JACK. And perhaps our good aunt will give us our tea tonight out of her new porcelain service (showing contents of box). MRS. T. A present for me, too! So you found time to think of me, dear boy? JACK. Think of you! Do you remember this? (taking small case from his breast-pocket and opening it). MRS. T. My photograph? JACK. Which you gave me the night before I left England. You’ve never left me! You’ve shared all my hardships, all my dangers, all my triumphs! Didn’t we enter Pekin together, sword in hand?
  • 44. MRS. T. (smiling). I enter Pekin! JACK. Yes; rolled up in three of my flannel waistcoats to protect you. JESSIE. Oh, Cousin Jack, I do so long to hear all your adventures. JACK. Then you shall have them; not all at once; mustn’t be greedy, little girl. Now for it. (They seat themselves.) Ahem! (in an impressive tone). In order to make a first-rate brick— MRS. T. and JESSIE. A brick? JACK. Don’t interrupt me! I repeat, in order to make a first-rate brick they put it on the kiln and bake it. Well, in order to make a first-rate soldier they send him to India and bake him—that was my case. MRS. T. Well, from India you went to the Crimea? JACK. Yes; there I took to rum, diluted with snowballs and gunpowder. JESSIE. Poor Cousin! how you must have suffered! JACK. Tolerably; but we ate well—when we’d got anything to eat —and slept well when we hadn’t to keep awake. JESSIE. And you were never wounded? JACK. Nothing to speak of. I got rather a warm one at the Alma, but luckily it was on the head. JESSIE. Cousin Jack, I really feel quite proud of you! that I do. JACK. Then allow me to thank you in the name of the British Army; allow the British Army to salute you! (Kisses her. JESSIE joins MRS. TARLETAN, who has gone a few steps up the stage.) JACK (looking after JESSIE, and aside). A remarkably nice little body. If ever I should marry, I really—
  • 45. JESSIE (to MRS. TARLETAN, as they come forward). No, indeed, aunt, there’s no necessity for anything of the kind. MRS. T. I beg your pardon, my dear. Jack is one of the family. JACK. Of course I am! What’s the matter? MRS. T. Well, the fact is, we are not unlikely soon to find a husband for Jessie! JACK. A husband! Who is he? what is he? MRS. T. I only know that he is a protégé of Doctor Jogtrot. JACK. And who’s Jogtrot? MRS. T. Jessie’s guardian; a retired physician—a very eminent man in the scientific world. JACK. Oh! ah! (Aside.) Confound Jogtrot! MARTHA appears at C., followed by DOCTOR JOGTROT. MARTHA (announcing). Doctor Jogtrot. (Disappears.) Enter DOCTOR JOGTROT at C.; black costume—white cravat, etc. JOGTROT (to MRS. TARLETAN). Pardon me, madam, if I am late. MRS. T. Don’t apologize, doctor. (Introducing.) My nephew, Captain Pepperpot—Doctor Jogtrot (JOGTROT bows ceremoniously to JACK, who gives him a familiar nod in return). JOGTROT. I merely precede my esteemed young friend Mr. Chirper by a few minutes. Need I say I should not presume to present him as a competitor for the hand of this charming young lady (bowing to JESSIE), had I not discovered in his person qualities of the most solid description. JACK. Solid—eh? I see! inclined to be stout—eh?
  • 46. JOGTROT (after a stare at JACK, and turning to MRS. T. again). In fact, I am proud to say that Mr. Chirper is, in the strictest sense of the word, a serious young man! JACK (aside). Wheugh! I sha’n’t be able to stand much more of Jogtrot! I feel I sha’n’t. MRS. T. No doubt I shall grieve to part with Jessie; but as my nephew has left the army, I shall not be entirely alone. JOGTROT (to JACK). You are a military man, sir? JACK (who has been showing a gradual irritation). I was—till I left the army. JOGTROT. Left the army? Allow me to congratulate you on your having done so, sir! JACK (trying to keep cool). May I ask why? JOGTROT (in a supercilious tone). Because, between ourselves, sir, I consider the military profession— JACK (bristling up). Well, sir, what about the military profession? Anything to say against the military profession? (advancing on JOGTROT, who retreats). MRS. T. (aside to JACK). Don’t be so pugnacious, Jack! Recollect, you’re not at the siege of Sebastopol now! JOGTROT (overhearing them, eagerly). The siege of Sebastopol? MRS. T. Yes, doctor, my nephew was there during the whole campaign! JOGTROT (to JACK). Now, sir, it may be in your power to furnish me with the most interesting statistical information. Can you form any tolerable accurate estimate of the number of projectiles of various kinds and dimensions discharged from the Russian batteries from the beginning of the siege to the end?
  • 47. JACK. Frankly, my dear sir, I’m ashamed to say I never thought of counting them. (Aside to MRS. TARLETAN.) I wish to speak with all possible respect of this retired chemist and druggist of yours, but he’s simply an inflated idiot! JOGTROT. But to return to Mr. Chirper. JACK. Yes, give us a little more about Dicky! JOGTROT (astonished). Dicky? JACK. Yes, same thing! Chirpers are all Dickies—Dickies, Chirpers, don’t you see? Go on! MARTHA, entering at L. MARTHA. A gentleman, ma’am, sent in his card (giving card to MRS. TARLETAN). MRS. T. (reading). “Mr. Christopher Chirper.” Show the gentleman in. (MARTHA goes to C., shows in CHIRPER, and then exits.) Enter CHIRPER, in a similar costume to JOGTROT. JOGTROT (meeting CHIRPER, and handing him forward and presenting him). Allow me, Mrs. Tarletan—Mr. Christopher Chirper. Miss Jessie—Mr. Christopher Chirper. (To JACK.) Sir, Mr. Christopher Chirper. (CHIRPER bows very solemnly to each.) JACK (aside). A cheerful-looking youth, very! one part waiter, three parts undertaker! MRS. T. (to CHIRPER). The flattering terms in which Dr. Jogtrot has spoken of you more than suffice to insure you a hearty welcome!
  • 48. CHIRP. (bowing). I trust, madam, I may merit the favorable opinion of my distinguished friend! Permit me to say, I am not one of those giddy, thoughtless butterflies who consume their mental and moral faculties in mundane futilities. JACK (after a long stare at CHIRPER—then aside). He’s not a man, he’s a tract. (Aside to JESSIE, as he goes towards table.) Lively boy, isn’t he, Jessie? (Sits and turns over leaves of an album.) CHIRP. My mode of life is simplicity itself. I rise at seven— JACK. Oh, confound it!—hang it!—dash it! (turning over leaves rapidly). CHIRP. Breakfast at eight—a slice of bread, a cup of milk; that constitutes my heartiest meal. I then walk for an hour in the square; dine at six. JACK (who has come down again). Another cup of milk? You ought to keep a cow, Chirper, in the square. CHIRP. I then plunge into my favorite studies, till I retire to my pillow. Such is my life, madam. JACK. And a very jolly one, too, I should say, Chirper. CHIRP. Ladies, I must now request permission to retire. I am due at the Philotechnic Institution. MRS. T. (to CHIRPER). You’ll return to luncheon, I hope? JACK. Of course he will. (To CHIRPER.) Of course you will (thrusting CHIRPER’S hat and umbrella into his hands). I’ll see there’s an extra ha’porth of milk taken in for you (putting CHIRPER’S hat on his head). [CHIRPER and JOGTROT bow to JESSIE and exeunt at C., MRS. TARLETAN going up stage with them.
  • 49. MRS. T. (coming down). A very, very agreeable young man indeed. JESSIE (satirically). Yes; so remarkably sprightly. JACK. With about as much humor in him as a damp umbrella. MRS. T. (a little nettled). I repeat, Mr. Chirper is a very agreeable person. I would put it to anybody—to the very first comer. JACK. Would you? That’s a bargain (seeing BLUNT, who appears at C.). There’s my man, Stephen Blunt—he’ll do; you said the first comer. Here, Blunt (BLUNT advances), tell me what’s your opinion of the gentleman who has just gone? BLUNT (aside to JACK, knowingly). All right, captain, I haven’t forgot. (Aloud.) Well, sir, I think he’s charming, delightful, first- chop. JACK (quickly). No, no! I mean the other—the young one. BLUNT. Well, sir, I think he’s first-chop, too. JACK. Ugh! triple dolt, brute, idiot. (BLUNT about to speak.) Silence! get out! Stop, come and dress me! Ugh! pudding-head (shakes his fist at BLUNT and hurries out L. H., followed by BLUNT). MRS. T. Why, what’s the matter with the boy? such a temper all of a sudden. JESSIE (pouting). No wonder; he sees well enough that you’re tired of me—that you want to get rid of me—that you—oh! oh! oh! [Runs out crying at R. MRS. T. (astonished). There’s some mystery here I must clear up. Jessie! Jessie! [Hastens out after JESSIE at R.
  • 50. JACK (without, at L. H., very loud and angrily). Hold your tongue! don’t answer me! don’t be insolent!—there, there! (Enters hurriedly from L. H.) Wheugh! I’m better now I’ve let off some of the steam! ha, ha! Poor old Blunt (stopping suddenly). Stop, there’s nothing to laugh at. I know I was a little bit out of temper—whose fault but his if I was?—with his infernal “first-chop;” but I’d no business to strike the poor fellow, with my foot especially; I ought to be ashamed of myself. Ought to be? I am! Here he comes (seeing BLUNT, who enters at L. H., looking pale and serious; after a little hesitation JACK walks up to him). Stephen Blunt, I ask your pardon; there, that’s settled; now shake hands (holds out his hand; BLUNT looks away). I’m sorry, Blunt, very sorry; would you like to kick me? or shall I kick myself? I’ll try if you like! BLUNT. I’d rather you had blown my brains out, captain. If any other man in the world had—had—you know what I mean—I’d have knocked him down. JACK (quietly). Then knock me down! BLUNT. As you are now, sir? no! but in a fair stand-up fight I would!—at least I’d try! JACK (with sudden excitement). What’s that? Stand-up fight? this sort of thing? (sparring and hitting out). BLUNT (with a broad grin). That’s it, sir! If you’d only just let me knock you about for a round or two, I should feel like a man again! JACK (aside). I rather like this! I do, by Jove! There’s some fun in having one’s head punched by one’s servant! (Aloud.) All right, old boy! you shall have satisfaction after your own fashion! Look out for some nice quiet spot, and in ten minutes’ time we’ll have it out; in the mean time, mum, not a word. [BLUNT runs out at C., rubbing his hands in high glee.
  • 51. JACK (after a pause). I’d better by half have stopped in China! I can’t stop here! I can’t look quietly on—probably with my eye bunged up—and see the woman I love married to a Dicky! No, no; I’ll pack up at once! (MRS. TARLETAN and JESSIE have entered R. H. during the above.) MRS. T. (overhearing). Pack up? JACK. Yes, aunt. I’m off—good-by! MRS. T. Off? Where—where? JACK. I don’t know; somewhere or other—if not there, somewhere else. Good-by! MRS. T. John Pepperpot, you are deceiving me! I want the truth! you hear, sir, the truth! JACK. Do you? then you shall have it! I love Jessie—there! now you’ve got it! JESSIE (joyously). You hear, aunty? He loves me; me whom you are about to sacrifice—to immolate! (in a tragic tone). JACK. On the altar of a Chirper! (in a similar tone). JESSIE. It’s cruel! JACK. Barbarous! JESSIE. Inhuman! JACK. Savage! MRS. T. (who has been trying to speak). Will you let me speak? (To JACK.) You say you love Jessie? JACK. Awfully! MRS. T. Well—unless, indeed, Jessie objects—
  • 52. Welcome to our website – the perfect destination for book lovers and knowledge seekers. We believe that every book holds a new world, offering opportunities for learning, discovery, and personal growth. That’s why we are dedicated to bringing you a diverse collection of books, ranging from classic literature and specialized publications to self-development guides and children's books. More than just a book-buying platform, we strive to be a bridge connecting you with timeless cultural and intellectual values. With an elegant, user-friendly interface and a smart search system, you can quickly find the books that best suit your interests. Additionally, our special promotions and home delivery services help you save time and fully enjoy the joy of reading. Join us on a journey of knowledge exploration, passion nurturing, and personal growth every day! ebookbell.com