Reaktiv datavisning i React
Lad os antage, at vi har et array af objekter, som indeholder navne og beskrivelser af noget:
const 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'
},
];
Lad os udskrive hvert element i dette array i en separat paragraf:
function 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>;
}
Lad os nu gøre det sådan, at beskrivelsen
initialt er skjult, men tilføjer vi knapper i slutningen af hver
paragraf for at vise beskrivelsen
fra netop den paragraf.
For at gøre dette tilføjer vi en
egenskab show til hvert produktobjekt, som styrer visningen af beskrivelsen:
const 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,
},
];
Lav en knap i slutningen af hver paragraf, der ved klik vil vise produktets fulde beskrivelse.