0Pricing
React Academy · درس

إعداد Storybook في مشروع React

ثبّت Storybook واضبطه لـ Vite أو CRA وتصفّح مستكشف المكوّنات.

إعداد Storybook في مشروع React درس مجاني في React Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في React Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة React Academy 4 دروس في المجموع.

ما هو Storybook؟

Storybook أداة لتطوير مكوّنات واجهة المستخدم وتوثيقها واختبارها بمعزل. تمثل كل قصة حالة محددة لمكوّن، ويمكن عرضها في واجهة Storybook من دون تشغيل تطبيقك بالكامل.

التثبيت

نفّذ أمر init الخاص بـ Storybook في مشروع React. يكتشف إطار العمل تلقائيًا، مثل Vite وCRA وNext.js، وينشئ التهيئة.

# For a Vite + React project:
npx storybook@latest init

# This creates:
# .storybook/main.ts
# .storybook/preview.ts
# src/stories/ (example stories)

بدء تشغيل Storybook

شغّل خادم التطوير الخاص بـ Storybook على المنفذ 6006. وسيفتح مستكشف المكوّنات في متصفحك.

npm run storybook
# or
npx storybook dev -p 6006

تهيئة .storybook/main.ts

يحدد main.ts لـ Storybook مكان العثور على القصص، والإضافات التي ينبغي تحميلها، وإطار العمل الذي ينبغي استخدامه.

import type { StorybookConfig } from '@storybook/react-vite';

const config: StorybookConfig = {
  stories: ['../src/**/*.stories.@(ts|tsx)'],
  addons: [
    '@storybook/addon-essentials',
    '@storybook/addon-interactions',
  ],
  framework: {
    name: '@storybook/react-vite',
    options: {},
  },
};

export default config;

تهيئة .storybook/preview.ts

يطبّق preview.ts المزيّنات العامة، مثل إحاطة جميع القصص بـ Provider، ويضبط المعلمات العامة مثل لون الخلفية.

import type { Preview } from '@storybook/react';
import '../src/index.css'; // global styles

const preview: Preview = {
  parameters: {
    backgrounds: {
      default: 'light',
      values: [{ name: 'light', value: '#fff' }, { name: 'dark', value: '#333' }],
    },
  },
  decorators: [
    (Story) => (
      <ThemeProvider theme={defaultTheme}>
        <Story />
      </ThemeProvider>
    ),
  ],
};

export default preview;

إضافة المزيّنات للسياق

استخدم المزيّنات في preview.ts لإحاطة جميع القصص بالموفّرات التي تحتاج إليها، مثل Router وTheme وi18n، حتى لا تضطر القصص إلى استيرادها بشكل منفصل.

decorators: [
  (Story) => (
    <MemoryRouter>
      <QueryClientProvider client={new QueryClient()}>
        <Story />
      </QueryClientProvider>
    </MemoryRouter>
  ),
],

التنقّل في واجهة Storybook

يجمع الشريط الجانبي القصص حسب المكوّن. انقر على قصة لعرضها في مساحة العرض. تعرض علامة تبويب Docs توثيق API المُنشأ تلقائيًا من خصائص TypeScript.

إنشاء Storybook ثابت

أنشئ موقع HTML ثابتًا من قصصك لاستضافته على Chromatic أو GitHub Pages أو أي شبكة CDN.

npm run build-storybook
# Output in storybook-static/

Storybook لتوثيق نظام التصميم

يتميّز Storybook بوصفه توثيقًا حيًا لأنظمة التصميم. أضف @storybook/addon-docs، وهي جزء من essentials، لإنشاء جداول الخصائص وأمثلة الاستخدام تلقائيًا من أنواع TypeScript.

استبدال الوحدات الساخن

يدعم Storybook ميزة HMR. عدّل ملف مكوّن أو قصة، وستتحدّث مساحة عرض Storybook فورًا من دون إعادة تحميل الصفحة بالكامل.

دعم TypeScript

يوفّر إطار العمل @storybook/react-vite دعمًا متكاملًا لـ TypeScript. استخدم الأنواع العامة Meta وStoryObj لكتابة قصص محددة الأنواع بالكامل.

import type { Meta, StoryObj } from '@storybook/react';
import { Button } from './Button';

const meta: Meta<typeof Button> = {
  component: Button,
};
export default meta;

type Story = StoryObj<typeof Button>;
export const Primary: Story = { args: { label: 'Click me' } };

تحقق سريع

أي ملف تهيئة في Storybook مسؤول عن تطبيق المزيّنات العامة، مثل إحاطة جميع القصص بـ Provider؟

خلاصة

نفّذ npx storybook init لإعداد Storybook، واضبط الموفّرات العامة في preview.ts، وأضف الإضافات في main.ts. استخدم الأنواع العامة Meta وStoryObj لكتابة قصص محددة الأنواع، وأنشئ موقعًا ثابتًا باستخدام build-storybook لمشاركته.

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

هل درس «إعداد Storybook في مشروع React» مجاني؟

نعم — نص درس «إعداد Storybook في مشروع React» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة React Academy، انتقل إلى CoddyKit PRO. تتضمن دورة React Academy 4 دروس في المجموع.

ماذا ستتعلم في «إعداد Storybook في مشروع React»؟

ثبّت Storybook واضبطه لـ Vite أو CRA وتصفّح مستكشف المكوّنات. تتمرن على React Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ React Academy؟

لا تُشترط خبرة سابقة. React Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «إعداد Storybook في مشروع React»؟

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

هل يمكنني كتابة وتشغيل أكواد في درس React Academy هذا؟

نعم. كل درس في React Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

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

  1. إعداد Storybook في مشروع React
  2. كتابة قصص CSF3
  3. Args وControls وإضافة Actions
  4. اختبار Storybook والانحدار البصري
← العودة إلى React Academy