Reaktiv visning av data i React
Låt oss anta att vi har en array med objekt som innehåller namn och beskrivningar av något:
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'
},
];
Låt oss visa varje element i denna array i ett separat stycke:
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>;
}
Låt oss nu göra så att beskrivningen
initialt är dold, men i slutet av varje
stycke lägger vi till knappar för att visa beskrivningen
från det stycket.
För att göra detta lägger vi till en egenskap
show i varje produktobjekt för att reglera visningen av beskrivningen:
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,
},
];
Gör en knapp i slutet av varje stycke, vid klick på vilken den fullständiga produktbeskrivningen kommer att visas.