Files
react.dev/src/sidebarLearn.json
2023-03-20 04:09:18 +00:00

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"
}
]
}
]
}