0Pricing
Next.js 15 Fullstack (App Router + Server Actions) · درس

التفاعلية باستخدام RCC

اكتشف كيفية استخدام Client Components بفعالية لإضافة التفاعلية وحالة من جانب العميل إلى تطبيقات Next.js

التفاعلية باستخدام RCC درس مجاني في Next.js 15 Fullstack (App Router + Server Actions) على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Next.js 15 Fullstack (App Router + Server Actions)، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Next.js 15 Fullstack (App Router + Server Actions) 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Interactive Client Components

Welcome to Interactivity with RCC! In Next.js, not everything happens on the server. When you need dynamic behavior, user interaction, or client-side state, you turn to Client Components.

These components run in the user's browser, allowing for rich, interactive experiences. Think of things like counters, forms, or animations – these are perfect fits for Client Components.

The 'use client' Directive

To tell Next.js that a component should be rendered on the client, you use the 'use client' directive. This line must be at the very top of your file, before any imports.

  • It marks the component (and any components it imports) as a Client Component.
  • This means it can use browser APIs, event listeners, and React Hooks like useState and useEffect.
  • Without it, components are Server Components by default.

Client-Side State with useState

One of the most common needs for interactivity is managing state. State is data that changes over time and affects what's displayed on the screen. The useState hook is your primary tool for this in Client Components.

  • It allows function components to hold and manage their own state.
  • It returns a pair: the current state value and a function to update it.
  • Updating state re-renders the component with the new value.

Example: Simple Counter

Let's see useState in action with a simple counter. Each time you click the button, the count increases. This dynamic update is powered by client-side state.

Notice the 'use client' at the top, making this component interactive.

Runnable: Counter Component

Try running this example. Click the 'Increment' button to see the count update. This behavior is entirely managed by the browser.

'use client';

import { useState } from 'react';

export default function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>
        Increment
      </button>
    </div>
  );
}

Handling User Events

Client Components are where you attach event handlers. These are functions that respond to specific user actions, like clicks, key presses, or form submissions.

  • You pass event handler functions directly to props like onClick, onChange, or onSubmit.
  • These functions then update the component's state or trigger other client-side logic.
  • This is how your application becomes responsive to user input.

Example: Input Field

Here's an example of handling input changes. As you type, the displayed text updates immediately. This uses the onChange event handler and useState to keep track of the input's value.

Runnable: Input Component

Run this code and type something into the input field. See how the text below the input updates in real-time? This is client-side event handling and state in action!

'use client';

import { useState } from 'react';

export default function MyInput() {
  const [text, setText] = useState('');

  const handleChange = (event) => {
    setText(event.target.value);
  };

  return (
    <div>
      <input type="text" value={text} onChange={handleChange} />
      <p>You typed: {text}</p>
    </div>
  );
}

Side Effects with useEffect

Sometimes, you need to perform actions after a component renders, or when certain state/props change. This is where the useEffect hook comes in handy for Client Components.

  • It's used for 'side effects' like fetching data (on the client), directly manipulating the DOM, or setting up subscriptions.
  • It runs after every render by default, but you can control when it runs using its dependency array.
  • Remember, useEffect only works in Client Components.

Quick Check: RCC Hooks

You've learned about the essential hooks for adding interactivity to your Next.js applications with Client Components. Which of the following statements about Client Components and their hooks is TRUE?

Recap: Interactive RCC

Great job! You've explored how to make your Next.js applications interactive using Client Components.

  • The 'use client' directive marks components for client-side rendering.
  • useState manages dynamic state for interactive UI.
  • Event handlers like onClick and onChange respond to user input.
  • useEffect handles side effects after rendering, like client-side data fetching.

By combining these tools, you can build rich and responsive user interfaces in Next.js!

الأسئلة الشائعة

هل درس «التفاعلية باستخدام RCC» مجاني؟

نعم — نص درس «التفاعلية باستخدام RCC» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Next.js 15 Fullstack (App Router + Server Actions)، انتقل إلى CoddyKit PRO. تتضمن دورة Next.js 15 Fullstack (App Router + Server Actions) 4 دروس في المجموع.

ماذا ستتعلم في «التفاعلية باستخدام RCC»؟

اكتشف كيفية استخدام Client Components بفعالية لإضافة التفاعلية وحالة من جانب العميل إلى تطبيقات Next.js تتمرن على Next.js 15 Fullstack (App Router + Server Actions) مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Next.js 15 Fullstack (App Router + Server Actions)؟

لا تُشترط خبرة سابقة. Next.js 15 Fullstack (App Router + Server Actions) على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «التفاعلية باستخدام RCC»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Next.js 15 Fullstack (App Router + Server Actions) هذا؟

نعم. كل درس في Next.js 15 Fullstack (App Router + Server Actions) يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. فهم RSC وRCC
  2. جلب البيانات في RSC
  3. التفاعلية باستخدام RCC
  4. أنماط التركيب لمكوّنات الخادم والعميل
← العودة إلى Next.js 15 Fullstack (App Router + Server Actions)