شروحات الكمبيوتر والإنترنت والموبايل

تمرير بيانات الحالة في React باستخدام JavaScript

تُعتبر React منصة قوية تساعد المطورين على بناء واجهات مستخدم تفاعلية، مما يجعلها خيارًا شائعًا بين المبرمجين. ومن بين التحديات التي قد تواجههم، تكون عملية تمرير البيانات بين المكونات أمرًا شائعًا يتطلب إدارة جيدة للحالة. في هذا المقال، سنتناول كيفية تمرير بيانات الحالة باستخدام React بطريقة تسهل فهمها وتطبيقها.

فهم حالة المكونات في React

قبل البدء بتوجيه البيانات بين المكونات، يجب أن نفهم ما هي الحالة (state) في React. الحالة تعكس البيانات التي يتم إدارتها داخل مكون، وعندما تتغير هذه الحالة، يُعاد عرض المكون تلقائيًا. تشمل السيناريوهات الشائعة التي تتطلب تمرير البيانات من مكون إلى آخر مثل نماذج الإدخال.

كيفية تمرير بيانات الحالة باستخدام React

عند بناء مكون يتطلب إدخال بيانات من المستخدم، مثل اسم مستخدم، يمكننا استخدام useState لضبط حالة المدخلات. إليك مثال على كيفية استخدام useState وonChange لضبط الحالة بشكل صحيح.

import { useState } from 'react';
import { Link } from 'react-router-dom';
function Main() {
    const [username, setUsername] = useState("");
    function handleChange(e) {
        setUsername(e.target.value);
    }
    return (
        <form>
            <label>
                أدخل اسم مستخدم last.fm الخاص بك أدناه:
                <input type="text" value={username} onChange={handleChange} />
            </label>
            <Link to={`/link-page`} state={{ username }}>
                <button type="button">انتقل</button>
            </Link>
        </form>
    );
}

كما يظهر في الشيفرة البرمجية أعلاه، يتم تحديد المدخلات من قبل المكون الرئيسي. هذا يسمح لنا بالتحكم الكامل في قيمة المدخلات من خلال الحالة. تجنب استخدام IDs لاستدعاء العناصر مثل document.getElementById، حيث يعتبر هذا نمطًا غير مرغوب فيه في React.

تجنب إعادة تحميل الصفحة

إذا كنت تستخدم نموذجًا وتريد التعامل مع حدث الإرسال (submit)، تأكد من منع إعادة تحميل الصفحة. يمكنك القيام بذلك باستخدام e.preventDefault() أثناء معالجة إرسال النموذج. إليك كيفية ذلك باستخدام useNavigate للتنقل إلى الصفحة الجديدة.

import { useState } from 'react';
import { useNavigate } from 'react-router-dom';
function Main() {
    const [username, setUsername] = useState("");
    const navigate = useNavigate();
    function handleChange(e) {
        setUsername(e.target.value);
    }
    function onSubmit(e) {
        e.preventDefault(); // منع إعادة تحميل الصفحة
        navigate("/link-page", { state: { username } });
    }
    return (
        <form onSubmit={onSubmit}>
            <label>
                أدخل اسم مستخدم last.fm الخاص بك أدناه:
                <input type="text" value={username} onChange={handleChange} />
            </label>
            <button type="submit">إرسال</button>
        </form>
    );
}

في هذا المثال، تُعتبر دالة onSubmit هي المسؤول عن التعامل مع إرسال النموذج. عندما يتم الضغط على زر الإرسال، تتم معالجة النموذج دون الحاجة إلى إعادة تحميل الصفحة، ويتم نقل اسم المستخدم إلى الصفحة التالية.

الخلاصة

يمكن أن يمثل تمرير بيانات الحالة باستخدام React تحديًا في البداية، لكن من خلال فهم كيفية استخدام useState وonChange بشكل صحيح، يمكنك بناء تطبيقات تفاعلية بشكل أسهل. باستخدام الأساليب الموضحة في هذا المقال، يمكنك تحسين كيفية إدارة البيانات في تطبيقك.

باختصار، يعتبر مفهوم تمرير بيانات الحالة في React جزءًا أساسياً من بناء واجهات مستخدم ديناميكية. يُطبق ذلك باستخدام أدوات مثل useState وonChange، مما يتيح لك التحكم الكامل في تجربة المستخدم دون تعقيد الأمور.

فهد السلال

خبير تقني متخصص في شروحات الكمبيوتر والإنترنت والموبايل، يتمتع بخبرة واسعة في تقديم حلول تقنية مبتكرة ومبسطة. يهدف فهد إلى مساعدة المستخدمين على تحسين تجربتهم التقنية من خلال مقالات وأدلة عملية واضحة وسهلة الفهم.
زر الذهاب إلى الأعلى
Don`t copy text!