Reactieve weergave van gegevens in React
Stel dat we een array van objecten hebben, die namen en beschrijvingen van iets bevatten:
jsxconst initNotes = [
{
id: id(),
name: 'name1',
desc: 'long description 1'
},
{
id: id(),
name: 'name2',
desc: 'long description 2'
},
{
id: id(),
name: 'name3',
desc: 'long description 3'
},
];
Laten we elk element van deze array weergeven in een aparte alinea:
jsxfunction App() {
const [notes, setNotes] = useState(initNotes);
const result = notes.map(note => {
return <p key={note.id}>
{note.name},
<i>{note.desc}</i>
</p>;
});
return <div>
{result}
</div>;
}
Laten we het nu zo maken dat de beschrijving
initieel verborgen is, maar aan het einde van elke
alinea voegen we knoppen toe om de beschrijving
van die alinea te tonen.
Hiervoor voegen we aan elk object met een product de
eigenschap show toe, die de weergave van de beschrijving regelt:
jsxconst initNotes = [
{
id: id(),
name: 'name1',
desc: 'long description 1',
show: false,
},
{
id: id(),
name: 'name2',
desc: 'long description 2',
show: false,
},
{
id: id(),
name: 'name3',
desc: 'long description 3',
show: false,
},
];
Задание 1
Maak aan het einde van elke alinea een knop, waarbij bij het klikken de volledige beschrijving van het product wordt getoond.