درک 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 مورد علاقه شما چیست؟ در نظرات به من اطلاع دهید!



