mirror of
https://github.com/reactjs/react.dev.git
synced 2026-02-23 20:23:08 +00:00
199 lines
5.3 KiB
JSON
199 lines
5.3 KiB
JSON
{
|
|
"title": "Learn React",
|
|
"path": "/learn",
|
|
"routes": [
|
|
{
|
|
"hasSectionHeader": true,
|
|
"sectionHeader": "GET STARTED"
|
|
},
|
|
{
|
|
"title": "Quick Start",
|
|
"path": "/learn",
|
|
"routes": [
|
|
{
|
|
"title": "Tutorial: Tic-Tac-Toe",
|
|
"path": "/learn/tutorial-tic-tac-toe"
|
|
},
|
|
{
|
|
"title": "Thinking in React",
|
|
"path": "/learn/thinking-in-react"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Installation",
|
|
"path": "/learn/installation",
|
|
"routes": [
|
|
{
|
|
"title": "Start a New React Project",
|
|
"path": "/learn/start-a-new-react-project"
|
|
},
|
|
{
|
|
"title": "Add React to an Existing Project",
|
|
"path": "/learn/add-react-to-an-existing-project"
|
|
},
|
|
{
|
|
"title": "Editor Setup",
|
|
"path": "/learn/editor-setup"
|
|
},
|
|
{
|
|
"title": "React Developer Tools",
|
|
"path": "/learn/react-developer-tools"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"hasSectionHeader": true,
|
|
"sectionHeader": "LEARN REACT"
|
|
},
|
|
{
|
|
"title": "Describing the UI",
|
|
"tags": [],
|
|
"path": "/learn/describing-the-ui",
|
|
"routes": [
|
|
{
|
|
"title": "Your First Component",
|
|
"path": "/learn/your-first-component"
|
|
},
|
|
{
|
|
"title": "Importing and Exporting Components",
|
|
"path": "/learn/importing-and-exporting-components"
|
|
},
|
|
{
|
|
"title": "Writing Markup with JSX",
|
|
"path": "/learn/writing-markup-with-jsx"
|
|
},
|
|
{
|
|
"title": "JavaScript in JSX with Curly Braces",
|
|
"path": "/learn/javascript-in-jsx-with-curly-braces"
|
|
},
|
|
{
|
|
"title": "Passing Props to a Component",
|
|
"path": "/learn/passing-props-to-a-component"
|
|
},
|
|
{
|
|
"title": "Conditional Rendering",
|
|
"path": "/learn/conditional-rendering"
|
|
},
|
|
{
|
|
"title": "Rendering Lists",
|
|
"path": "/learn/rendering-lists"
|
|
},
|
|
{
|
|
"title": "Keeping Components Pure",
|
|
"path": "/learn/keeping-components-pure"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Adding Interactivity",
|
|
"path": "/learn/adding-interactivity",
|
|
"tags": [],
|
|
"routes": [
|
|
{
|
|
"title": "Responding to Events",
|
|
"path": "/learn/responding-to-events"
|
|
},
|
|
{
|
|
"title": "State: A Component's Memory",
|
|
"path": "/learn/state-a-components-memory"
|
|
},
|
|
{
|
|
"title": "Render and Commit",
|
|
"path": "/learn/render-and-commit"
|
|
},
|
|
{
|
|
"title": "State as a Snapshot",
|
|
"path": "/learn/state-as-a-snapshot"
|
|
},
|
|
{
|
|
"title": "Queueing a Series of State Updates",
|
|
"path": "/learn/queueing-a-series-of-state-updates"
|
|
},
|
|
{
|
|
"title": "Updating Objects in State",
|
|
"path": "/learn/updating-objects-in-state"
|
|
},
|
|
{
|
|
"title": "Updating Arrays in State",
|
|
"path": "/learn/updating-arrays-in-state"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Managing State",
|
|
"path": "/learn/managing-state",
|
|
"tags": ["intermediate"],
|
|
"routes": [
|
|
{
|
|
"title": "Reacting to Input with State",
|
|
"path": "/learn/reacting-to-input-with-state"
|
|
},
|
|
{
|
|
"title": "Choosing the State Structure",
|
|
"path": "/learn/choosing-the-state-structure"
|
|
},
|
|
{
|
|
"title": "Sharing State Between Components",
|
|
"path": "/learn/sharing-state-between-components"
|
|
},
|
|
{
|
|
"title": "Preserving and Resetting State",
|
|
"path": "/learn/preserving-and-resetting-state"
|
|
},
|
|
{
|
|
"title": "Extracting State Logic into a Reducer",
|
|
"path": "/learn/extracting-state-logic-into-a-reducer"
|
|
},
|
|
{
|
|
"title": "Passing Data Deeply with Context",
|
|
"path": "/learn/passing-data-deeply-with-context"
|
|
},
|
|
{
|
|
"title": "Scaling Up with Reducer and Context",
|
|
"path": "/learn/scaling-up-with-reducer-and-context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Escape Hatches",
|
|
"path": "/learn/escape-hatches",
|
|
"tags": ["advanced"],
|
|
"routes": [
|
|
{
|
|
"title": "Referencing Values with Refs",
|
|
"path": "/learn/referencing-values-with-refs"
|
|
},
|
|
{
|
|
"title": "Manipulating the DOM with Refs",
|
|
"path": "/learn/manipulating-the-dom-with-refs"
|
|
},
|
|
{
|
|
"title": "Synchronizing with Effects",
|
|
"path": "/learn/synchronizing-with-effects"
|
|
},
|
|
{
|
|
"title": "You Might Not Need an Effect",
|
|
"path": "/learn/you-might-not-need-an-effect"
|
|
},
|
|
{
|
|
"title": "Lifecycle of Reactive Effects",
|
|
"path": "/learn/lifecycle-of-reactive-effects"
|
|
},
|
|
{
|
|
"title": "Separating Events from Effects",
|
|
"path": "/learn/separating-events-from-effects"
|
|
},
|
|
{
|
|
"title": "Removing Effect Dependencies",
|
|
"path": "/learn/removing-effect-dependencies"
|
|
},
|
|
{
|
|
"title": "Reusing Logic with Custom Hooks",
|
|
"path": "/learn/reusing-logic-with-custom-hooks"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|