diff --git a/docs/_data/nav_tutorial.yml b/docs/_data/nav_tutorial.yml
index 2a321a17ee..49cc7557f9 100644
--- a/docs/_data/nav_tutorial.yml
+++ b/docs/_data/nav_tutorial.yml
@@ -1,7 +1,7 @@
- title: Tutorial
items:
- id: tutorial
- title: Overview
+ title: Before We Start
subitems:
- id: what-were-building
title: What We're Building
@@ -19,6 +19,11 @@
title: Help, I'm Stuck!
href: /react/tutorial/tutorial.html#help-im-stuck
forceInternal: true
+ - id: overview
+ title: Overview
+ href: /react/tutorial/tutorial.html#overview
+ forceInternal: true
+ subitems:
- id: what-is-react
title: What is React?
href: /react/tutorial/tutorial.html#what-is-react
diff --git a/docs/tutorial/tutorial.md b/docs/tutorial/tutorial.md
index 612fbc0b56..2cc9b53059 100644
--- a/docs/tutorial/tutorial.md
+++ b/docs/tutorial/tutorial.md
@@ -12,25 +12,27 @@ redirect_from:
- "docs/tutorial-zh-CN.html"
---
-## What We're Building
+## Before We Start
+
+### What We're Building
Today, we're going to build an interactive tic-tac-toe game.
If you like, you can check out the final result here: Final Result. Try playing the game. You can also click on a link in the move list to go "back in time" and see what the board looked like just after that move was made.
-## Prerequisites
+### Prerequisites
We'll assume some familiarity with HTML and JavaScript but you should be able to follow along even if you haven't used them before.
If you need a refresher on JavaScript, we recommend reading [this guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript). Note that we're also using some features from ES6, a recent version of JavaScript. In this tutorial, we're using [arrow functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions), [classes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes), [`let`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let), and [`const`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const) statements. You can use Babel REPL to check what ES6 code compiles to.
-## How to Follow Along
+### How to Follow Along
-### Following Along in Browser
+#### Following Along in Browser
We'll be using an online editor called CodePen in this guide. You can begin by opening this starter code. It should display an empty tic-tac-toe field. We will be editing that code during this tutorial.
-### Following Along Locally
+#### Following Along Locally
You can also follow along locally if you don't mind a few extra steps:
@@ -48,7 +50,7 @@ You can also follow along locally if you don't mind a few extra steps:
Now if you run `npm start` in the project folder and open `http://localhost:3000` in the browser, you should see an empty tic-tac-toe field.
-## Help, I'm Stuck!
+### Help, I'm Stuck!
If you get stuck, check out the [community support resources](https://facebook.github.io/react/community/support.html). In particular, [Reactiflux chat](/react/community/support.html#reactiflux-chat) is a great way to get quick help. If you don't get a good answer anywhere, please file an issue, and we'll help you out.
@@ -56,7 +58,9 @@ You can also look at the Starter Code.
@@ -114,7 +118,7 @@ The Square component renders a single `