Mark As Completed Discussion

Lists and Keys

When working with React, it is common to render lists of components. You may have a list of items fetched from an API, a set of data from a database, or an array you define in your code. React provides a way to render dynamically generated lists using the map function.

Rendering a List of Components

To render a list of components in React, you can use the map function to iterate over an array of data and return a component for each item.

Here's an example of rendering a list of students:

SNIPPET
1// Arrays of data
2const students = [
3  { id: 1, name: 'John' },
4  { id: 2, name: 'Jane' },
5  { id: 3, name: 'Bob' }
6];
7
8// Render a list of students
9const StudentList = () => {
10  return (
11    <ul>
12      {students.map(student => (
13        <li>{student.name}</li>
14      ))}
15    </ul>
16  );
17};
18
19ReactDOM.render(
20  <StudentList />, 
21  document.getElementById('root')
22);

In the example above, we have an array of students with their respective names. We use the map function to iterate over the array and return an <li> element for each student.

Adding Unique Keys

When rendering a list of components in React, it's important to provide a unique key prop to each component. This helps React efficiently update and re-order the list when changes occur.

In the previous example, we can add a unique id property to each student object and use it as the key prop for the <li> element:

SNIPPET
1{students.map(student => (
2  <li key={student.id}>{student.name}</li>
3))}

By providing a unique key prop, React can track each component and optimize the rendering process.

When using the map function to render a list, remember to include a key prop for each component to improve performance and avoid potential issues.

JAVASCRIPT
OUTPUT
:001 > Cmd/Ctrl-Enter to run, Cmd/Ctrl-/ to comment