Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

Reactالقوائم

  • مفهوم القوائم في React
  • تحضير مشروع للتطبيق العملي
  • عرض قائمة من العناصر في React
  • عرض أرقام فهرس العناصر في React
  • عرض قائمة من الكائنات في React

مفهوم القوائم في React

القائمة ( List ) يقصد بها مجموعة من العناصر يتم المرور عليها بذات الترتيب الموضوعة فيه و من ثم عرضها في واجهة المستخدم بأسلوب JSX.

عناصر القائمة قد تكون عبارة عن مجموعة من الروابط، مجموعة من المستخدمين، مجموعة من المنتجات أو ما شابه.

لأجل المرور على عناصر القائمة فإنه عادةً يتم استخدام الدالة map() الموجودة في جافاسكربت و التي تتيح المرور على عناصر المصفوفات بذات الترتيب الموضوعين فيه بالإضافة إلى إمكانية فلترتهم.

في هذا الدرس ستتعلم كيف تعرض قائمة من العناصر في واجهة المستخدم بالإضافة إلى فلترتهم و عرض أرقامهم الترتيبية في القائمة.

تحضير مشروع للتطبيق العملي

إفعل الخطوات التالية تباعاً حتى تنشئ مشروع جديد و تطبق فيه الأمثلة كما فعلنا بالضبط:

  1. قم بإنشاء مشروع جديد إسمه demo-app.
  2. بداخل المجلد src تجد ملف إسمه App.js قم بحذف كل الكود الإفتراضي الموجود فيه.
  3. بداخل المجلد src قم بإنشاء مجلد جديد إسمه components لأننا سنضع بداخله مكوّنات.
  4. بداخل المجلد components قم بإنشاء ملف إسمه User.js لأنه سيمثل مكوّن.

في هذا المشروع قمنا بتجهيز مكوّن واحد هو <User> لأننا سنقوم لاحقاً بإنشاء حلقة تعرض مجموعة من العناصر في واجهة المستخدم بالإعتماد عليه و في كل مرة سنقوم بإجراء تعديل عليه ليكون قادراً على استقبال و عرض البيانات التي نمررها فيه بالشكل المناسب.

عرض قائمة من العناصر في React

في المثال التالي قمنا بإنشاء قائمة إسمها users تتألف من 3 عناصر.
بعدها قمنا باستخدام الدالة map() للمرور على جميع عناصرها واحداً تلو الآخر.
كل عنصر مررنا عليه قمنا بعرض قيمته في المكوّن <User>.

مثال

/src/components/User.js
// User هنا قمنا بتعريف دالة تمثل مكوّن إسمه
function User(props) {
    return <li>{props.username}</li>;
}

// يمكن الوصول إليه من خارج هذا الملف User هنا قمنا بجعل المكون
export default User;
/src/App.js
// User.js الموجود في الملف User هنا قمنا بتضمين المكون
import User from "./components/User";

// الذي يمثل الحاوية الرئيسية في واجهة المستخدم <App> هنا قمنا بتعريف المكون
function App() {
    // وضعنا فيها 3 عناصر users هنا قمنا بتعريف مصفوفة إسمها 
    let users = ['Mhamad', 'Sara', 'Ramy'];

    // users للمرور على جميع عناصر المصفوفة map() هنا قمنا باستخدام الدالة
    // user مع تخزين عنصر واحد منهم في كل مرة بشكل مؤقت في المتغير
    // <User> في المكون user ليتم في النهاية عرض قيمة المتغير
    return (
        <>
            <h1>Users data</h1>
            <ul>
                {users.map(user => <User username={user} />)}
            </ul>
        </>
    );
}

// يمكن الوصول إليه من خارج هذا الملف لأنه المكون App هنا قمنا بجعل المكون
// index.html  الرئيسي في الصفحة و الذي يتم تضمينه بشكل تلقائي في الملف
export default App;
جرب الكود

عرض أرقام فهرس العناصر في React

في المثال التالي قمنا بوضع باراميترين في الدالة map() مما سيجعلنا قادرين على الحصول على قيمة العنصر بالإضافة إلى رقم الفهرس الخاص به بالنسبة لموقعه في المصفوفة.

مثال

/src/components/User.js
// User هنا قمنا بتعريف دالة تمثل مكوّن إسمه
function User(props) {
    return <li>Value at index {props.index} = {props.username}</li>;
}

// يمكن الوصول إليه من خارج هذا الملف User هنا قمنا بجعل المكون
export default User;
/src/App.js
// User.js الموجود في الملف User هنا قمنا بتضمين المكون
import User from "./components/User";

// الذي يمثل الحاوية الرئيسية في واجهة المستخدم <App> هنا قمنا بتعريف المكون
function App() {
    // وضعنا فيها 3 عناصر users هنا قمنا بتعريف مصفوفة إسمها 
    let users = ['Mhamad', 'Sara', 'Ramy'];

    // users للمرور على جميع عناصر المصفوفة map() هنا قمنا باستخدام الدالة
    // user مع تخزين عنصر واحد منهم في كل مرة بشكل مؤقت في المتغير
    // index بالإضافة أيضاً إلى تخزين رقم فهرس العنصر الحالي في المتغير 
    // <User> في المكون index و قيمة المتغير user و في النهاية سيتم عرض قيمة المتغير
    return (
        <>
            <h1>Users data</h1>
            <ul>
                {users.map((user, index) => <User username={user} index={index} />)}
            </ul>
        </>
    );
}

// يمكن الوصول إليه من خارج هذا الملف لأنه المكون App هنا قمنا بجعل المكون
// index.html  الرئيسي في الصفحة و الذي يتم تضمينه بشكل تلقائي في الملف
export default App;
جرب الكود

عرض قائمة من الكائنات في React

في المثال التالي قمنا بإنشاء مصفوفة إسمها users فيها 3 كائنات.
بعدها قمنا باستخدام الدالة map() للمرور على عناصرها و عرض قيمهم.
كل عنصر مررنا عليه قمنا بعرض قيمته في المكوّن <User>.

مثال

/src/components/User.js
// User هنا قمنا بتعريف دالة تمثل مكوّن إسمه
function User(props) {
    return <li>{props.username} has id {props.userId}.</li>;
}

// يمكن الوصول إليه من خارج هذا الملف User هنا قمنا بجعل المكون
export default User;
/src/App.js
// User.js الموجود في الملف User هنا قمنا بتضمين المكون
import User from "./components/User";

// الذي يمثل الحاوية الرئيسية في واجهة المستخدم <App> هنا قمنا بتعريف المكون
function App() {
    // وضعنا فيها 3 عناصر عبارة عن كائنات users هنا قمنا بتعريف مصفوفة إسمها 
    let users = [
        {id: 1, username: 'Mhamad'},
        {id: 2, username: 'Sara'},
        {id: 3, username: 'Ramy'}
    ];

    // users للمرور على جميع عناصر المصفوفة map() هنا قمنا باستخدام الدالة
    // user مع تخزين عنصر واحد منهم في كل مرة بشكل مؤقت في المتغير
    // <User> الذي هو عبارة عن كائن في المكون user ليتم في النهاية تمرير قيم المتغير
    return (
        <>
            <h1>Users data</h1>
            <ul>
                {users.map(user => <User userId={user.id} username={user.username} />)}
            </ul>
        </>
    );
}

// يمكن الوصول إليه من خارج هذا الملف لأنه المكون App هنا قمنا بجعل المكون
// index.html  الرئيسي في الصفحة و الذي يتم تضمينه بشكل تلقائي في الملف
export default App;
جرب الكود