# Week 4

This session is about using React Context to manage data in your app, implementing Routing and learn about UI and Component Libraries.

## Contents

* [Preparation](/course-content/frontend/react/week4/preparation.md)
* [Session Plan](/course-content/frontend/react/week4/session-plan.md) (for mentors)
* [Assignment](/course-content/frontend/react/week4/assignment.md)

## Session Learning Goals

By the end of this session, you will:

### React Context

* [ ] Understand when to use React Context
* [ ] Know how to initiate a Context
* [ ] Be able to provide a value to your Context
* [ ] Be familiar with where to put a Context Provider in your app

### Routing

* [ ] Be familiar with setting up React Router
* [ ] Know how to define routes for your app and render different components per route
* [ ] Be able to navigate client-side without refreshing the page

### UI and Component Libraries

* [ ] Have heard about UI and Component Libraries
* [ ] Know some examples when it comes to UI and Component Libraries
* [ ] Be familiar with advantages and challenges of such libraries
* [ ] Have tried Material UI in a small example (see Context exercise)


---

# 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://program.hackyourfuture.dk/course-content/frontend/react/week4.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.
