(Updating the screen ) تحديث الشاشة في React

 بالتأكيد! في React، يمكنك تحديث الشاشة عن طريق إضافة حالة (state) إلى مكونك. على سبيل المثال، إذا كنت تريد عدّ عدد مرات النقر على زر، يمكنك القيام بذلك باستخدام useState.

أولاً، قم باستيراد useState من React:

import { useState } from 'react';


ثم يمكنك إعلان متغير حالة داخل مكونك:

function MyButton() {
  const [count, setCount] = useState(0);
  // ...
}



ستحصل على شيئين من useState: الحالة الحالية (count) والدالة التي تتيح لك تحديثها (setCount). يمكنك تسميتهما بأي أسماء، ولكن العرف هو كتابة [شيء، setشيء].


في المرة الأولى التي يتم فيها عرض الزر، ستكون قيمة count هي 0 لأنك مررت 0 إلى useState(). عندما تريد تغيير الحالة، استدعِ setCount() ومرر القيمة الجديدة إليها. النقر على هذا الزر سيزيد العداد:

function MyButton() {
  const [count, setCount] = useState(0);

  function handleClick() {
    setCount(count + 1);
  }

  return (
    <button onClick={handleClick}>
      Clicked {count} times
    </button>
  );
}


سيقوم React باستدعاء دالة المكون مرة أخرى. هذه المرة، ستكون قيمة count هي 1. ثم ستكون 2، وهكذا.


إذا قمت بعرض نفس المكون عدة مرات، سيحصل كل منها على حالته الخاصة. انقر على كل زر بشكل منفصل:

import { useState } from 'react';

export default function MyApp() {
  return (
    <div>
      <h1>Counters that update separately</h1>
      <MyButton />
      <MyButton />
    </div>
  );
}

function MyButton() {
  const [count, setCount] = useState(0);

  function handleClick() {
    setCount(count + 1);
  }

  return (
    <button onClick={handleClick}>
      Clicked {count} times
    </button>
  );
}



لاحظ كيف أن كل زر “يتذكر” حالته الخاصة ولا يؤثر على الأزرار الأخرى.



تعليقات

المشاركات الشائعة

تطبيق التنبيهات التفاعلية باستخدام React

مفهوم إعادة الاستخدام (Reusability)

متى بدأت مواقع الويب؟

شرح Object Destructuring

ما هو JSX في React؟

مثال بسيط يوضح كيفية استخدام createContext و useContext لتمرير البيانات بين المكونات في React

تطبيق توليد لون عشوائي للصفحة في React

المشغل الثلاثي (Ternary Operator)

مكتبة React: مقدمة وإستخداماتها

المكونات (Components) في React