> For the complete documentation index, see [llms.txt](https://bryan-guner.gitbook.io/my-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bryan-guner.gitbook.io/my-docs/redux/repos/learning-react/chapter-08.md).

# Chapter 8: Incorporating Data

Data is the lifeblood of our applications. It flows like water, and it nourishes our components with value. The user interface components we've composed are vessels for data. We fill our applications with data from the internet. We collect, create, and send new data to the internet. The value of our applications is not the components themselves—it's the data that flows through those components.

## Samples

### Requesting Data

1. Fetch ([run it](https://codesandbox.io/s/dry-sea-wmw8w?file=/src/index.js))
2. requestGithubUser ([run it](https://codesandbox.io/s/happy-hypatia-hu6e6?file=/src/index.js))

### Authorized Requests

1. Fetching with the GitHubUser Component ([run it](https://codesandbox.io/s/crazy-borg-xyw0m?file=/src/App.js))
2. GitHubUser Component with localStorage ([run it](https://codesandbox.io/s/brave-water-w7knz?file=/src/App.js))

### Handling Promise States

1. Handling States ([run it](https://codesandbox.io/s/funny-architecture-9hwg4?file=/src/App.js))

### Render Props

1. Displaying a List ([run it](https://codesandbox.io/s/great-knuth-iq8qu?file=/src/App.js))
2. Empty List ([run it](https://codesandbox.io/s/eager-http-zgou9?file=/src/App.js))
3. List with Data ([run it](https://codesandbox.io/s/affectionate-tdd-0mucp?file=/src/App.js))
4. Conditional Render Prop Function ([run it](https://codesandbox.io/s/suspicious-sara-3dtyy?file=/src/App.js))

### Virtualized Lists

1. Rendering a List with faker ([run it](https://codesandbox.io/s/holy-shape-634jj?file=/src/App.js))
2. Rendering a Virtualized List with react-window ([run it](https://codesandbox.io/s/keen-star-dfb08?file=/src/App.js))

### Fetch Hooks

1. Fetch Component ([run it](https://codesandbox.io/s/zen-cloud-7nin3?file=/src/App.js))
2. Customizing Loading ([run it](https://codesandbox.io/s/agitated-raman-46dzb?file=/src/App.js))
3. Scrolling through Repos with useIterator ([run it](https://codesandbox.io/s/mystifying-cookies-nn1xl?file=/src/App.js))
4. Incorporating React Markdown ([run it](https://codesandbox.io/s/cocky-fog-h6xde?file=/src/App.js))
