"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > خطافات مخصصة

خطافات مخصصة

تم النشر بتاريخ 2024-11-04
تصفح:732

اشرح لي خطافات التفاعل

خطافات React هي وظائف تتيح لك استخدام الحالة وميزات React الأخرى دون كتابة فصل دراسي. تم تقديمها في React 16.8، وهي تمكن المكونات الوظيفية من التعامل مع المنطق مثل إدارة الحالة وأحداث دورة الحياة والآثار الجانبية.

Custom Hooks

ما هي الحاجة إلى الخطافات المخصصة؟

تسمح لك خطافات التفاعل المخصصة باستخراج المنطق وإعادة استخدامه عبر مكونات متعددة. إنها تساعد في الحفاظ على نظافة المكونات وتقليل الازدواجية عن طريق تغليف منطق الحالة في وظيفة. تتبع الخطافات المخصصة نفس القواعد التي تتبعها الخطافات المضمنة (على سبيل المثال، يمكنها استخدام خطافات أخرى مثل useState، useEffect، وما إلى ذلك).

أرني الرمز:

import React, { useState } from 'react';


// Custom Counter Hooks
const useCounter = (initialValue = 0) => {
  const [count, setCount] = useState(initialValue);

  const increment = () => setCount(value=>value   1);
  const decrement = () => setCount(value=>value - 1);
  const reset = () => setCount(initialValue);

  return { count, increment, decrement, reset };
};
export default useCounter;

import useCounter from './useCounter';

const Counter = () => {

  // Using Counter Hooks
  const { count, increment, decrement, reset } = useCounter();

  return (
    

{count}

); };

قواعد الخطافات المخصصة

استدعاء الخطافات في المستوى الأعلى فقط: لا تستدعي الخطافات داخل الحلقات أو الشروط أو الوظائف المتداخلة.

استدعاء الخطافات فقط من وظائف React: يجب استخدام الخطافات في المكونات الوظيفية أو الخطافات المخصصة الأخرى.

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/vaibhav_shukla_newsletter/custom-hooks-4bf0?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3