شرح صفوف ومحتوى الفقرة
عندما يُتاح للمستخدم اختيار عنصر أو أكثر من قائمة متعددة — كاختيار المهارات البرمجية أو قنوات التنبيه — نخزن المعرّفات المختارة داخل مصفوفة حالة مثل useState(['jsx']).
تحسب كل خانة حالتها عبر skills.includes(item.id)، وعند النقر نحدّث المصفوفة بنقاء دون تعديل مباشر: نضيف المعرّف بمعامل الانتشار إذا حُددت الخانة، أو نستبعده بدالة filter() إذا أُلغي تحديدها.
HTML
function toggleSkill(id, isChecked) {
setSelected((prev) =>
isChecked
? [...prev, id]
: prev.filter((item) => item !== id)
);
}