Reaktiv visning av data i React
La oss si at vi har en array med objekter som inneholder navn og beskrivelser av noe:
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'
},
];
La oss vise hvert element i denne arrayen i en egen avsnitt:
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>;
}
La oss nå gjøre slik at beskrivelsen
initielt er skjult, men på slutten av hvert
avsnitt legger vi til knapper for å vise beskrivelsen
fra dette avsnittet.
For å gjøre dette, legger vi til en egenskap
show i hvert objekt med produkt, som regulerer visning av 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,
},
];
På slutten av hvert avsnitt, lag en knapp, ved klikk på vil den vise den fulle beskrivelsen av produktet.