Реактивно показване на данни в React
Нека имаме масив от обекти, съдържащ наименования и описания на нещо:
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'
},
];
Нека изведем всеки елемент от този масив в отделен параграф:
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>;
}
Сега нека направим така, че описанието
първоначално да е скрито, но в края на всеки
параграф да добавим бутони за показване на описанието
от съответния параграф.
За това във всеки обект с продукт ще добавим
свойство show, което регулира показването на описанието:
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,
},
];
В края на всеки параграф направете бутон, при натискане на който ще се показва пълното описание на продукта.