# Introduction

The purpose of this book is to share my steps to setup a web project with React and TypeScript. I have ran through many demos, tutorials, and videos on React and TypeScript separately. Yet, finding up to date info on writing React apps with TypeScript was hard to do at the time I wrote this.

When I started this book my main focus was on sharing my experience in establishing a development environment and dealing with some of the quirks with coding React apps with TypeScript. I thought that I wouldn't explore many of the concepts in React or TypeScript, but as I learned more I decided to write about them. The book won't provide a deep inspection of all things React or TypeScript, but I will go deeper than just a simple Hello World.

This book will hone in on possible integrations of the two in terms of a development environment, coding paradigms and style. The scope is small and this should not be taken as a best practices guide. This is just my personal practice and there are many ways to do this kind of development. I just hope that this can equip you to explore more practices for your particular set of problems that can be solved with React and TypeScript.

## Expectations

This is a very simple book, but it is probably most useful if you understand JavaScript.

## Overview

We will start by jumping into some code samples with the proverbial Hello World. We will do a few examples where we start with a very basic display the text "Hello World" and add new features to demonstrate the basics of React with TypeScript.

Next, we break down the automation used in the sample. We review IDEs, package management, build, transpiling... and more.

Then we review some interesting concepts in React and TypeScript.

## Programming Language

This book will use [ECMAScript 2015 (ES6)](http://tc39.github.io/ecma262/). React and TypeScript discussions and source code will be expressed in ES6 and above.

## Code Samples and Examples

You can find the code samples and examples from the book on GitHub - <http://charleslbryant.github.io/hello-react-and-typescript>.

\
This work is licensed under a [Creative Commons Attribution-NonCommercial-NoDerivs 4.0 Unported License](http://creativecommons.org/licenses/by-nc-nd/4.0/).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://charles-bryant.gitbook.io/hello-react-and-typescript/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
