برنامه نویسی

درک React Hooks: راهنمای مبتدیان

“درک React Hooks: راهنمای مبتدی”

React Hooks یکی از قدرتمندترین ویژگی های معرفی شده در React است. آنها مدیریت حالت و اثرات جانبی را در اجزای عملکردی ساده‌تر می‌کنند و کد شما را پاک‌تر و خواناتر می‌کنند. در این پست به سه قلاب پرکاربرد می پردازیم: useState، useEffect، و useContext.


1. useState – مدیریت وضعیت در اجزای عملکردی

این useState hook به شما امکان می دهد بدون تبدیل آنها به اجزای کلاس، حالت را به اجزای عملکردی اضافه کنید.

مثال:

const Counter = () => {
  const [count, setCount] = React.useState(0);

  return (
    <div>
      <p>Current Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>Increment</button>
    </div>
  );
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

چگونه کار می کند:

  • useState آرایه ای را با دو مقدار برمی گرداند: وضعیت فعلی و تابعی برای به روز رسانی آن.
  • می توانید از آن برای مدیریت هر نوع داده استفاده کنید – اعداد، رشته ها، اشیاء یا آرایه ها.

2. useEffect – مدیریت عوارض جانبی

این useEffect هوک برای مدیریت عوارض جانبی مانند تماس‌های API، اشتراک‌ها یا دستکاری‌های DOM عالی است.

مثال:

const DataFetcher = () => {
  const [data, setData] = React.useState(null);

  React.useEffect(() => {
    fetch('https://api.example.com/data')
      .then(response => response.json())
      .then(data => setData(data));
  }, []); // Empty array ensures this runs only once on mount

  return <div>{data ? JSON.stringify(data) : 'Loading...'}</div>;
};
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

نکات کلیدی:

  • آرگومان دوم (آرایه وابستگی) تعیین می کند که اثر چه زمانی اجرا شود.
  • از یک آرایه خالی استفاده کنید ([]) برای اجرای افکت فقط یک بار پس از نصب کامپوننت.

3. useContext – مدیریت دولت جهانی

این useContext هوک دسترسی به داده‌های جهانی را بدون عبور دادن پایه‌های درخت مؤلفه ساده می‌کند.

مثال:

const ThemeContext = React.createContext();

const ThemeProvider = ({ children }) => {
  const [theme, setTheme] = React.useState('light');

  return (
    <ThemeContext.Provider value={{ theme, setTheme }}>
      {children}
    </ThemeContext.Provider>
  );
};

const ThemeToggler = () => {
  const { theme, setTheme } = React.useContext(ThemeContext);

  return (
    <button onClick={() => setTheme(theme === 'light' ? 'dark' : 'light')}>
      Toggle Theme: {theme}
    </button>
  );
};

// Usage in App
const App = () => (
  <ThemeProvider>
    <ThemeToggler />
  </ThemeProvider>
);
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

چرا استفاده کنید useContext?

  • از “حفاری پایه” جلوگیری می کند، جایی که شما پایه ها را از سطوح مختلف اجزا عبور می دهید.
  • برای مدیریت تم های جهانی، داده های کاربر یا تنظیمات برنامه ایده آل است.

نتیجه گیری

React Hooks اجزای کاربردی را قدرتمندتر و انعطاف پذیرتر می کند. با useState، useEffect، و useContext، می توانید به راحتی وضعیت، عوارض جانبی و داده های سراسری را بدون تکیه بر اجزای کلاس مدیریت کنید.

قلاب‌ها برای هر توسعه‌دهنده‌ی React ضروری است – شروع به آزمایش کنید و کشف کنید که چگونه فرآیند توسعه شما را ساده می‌کنند!

React Hook مورد علاقه شما چیست؟ در نظرات به من اطلاع دهید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا