برنامه نویسی

11 هک مفید React.js که هر برنامه نویسی باید بداند

React.js به یکی از محبوب ترین کتابخانه های جاوا اسکریپت برای ساخت رابط های کاربری، به ویژه برنامه های تک صفحه ای تبدیل شده است. معماری مبتنی بر کامپوننت و رندر کارآمد آن را در میان توسعه دهندگان محبوب کرده است. چه مبتدی یا یک توسعه دهنده با تجربه باشید، همیشه ترفندها و هک های جدیدی برای یادگیری وجود دارد که می تواند فرآیند توسعه شما را کارآمدتر و کد شما را ظریف تر کند. در اینجا 11 هک مفید React.js وجود دارد که هر توسعه دهنده ای باید بداند:

1. از اجزای کاربردی با قلاب استفاده کنید

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

import React, { useState } from 'react';

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

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

export default Counter;
وارد حالت تمام صفحه شوید

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

2. کامپوننت ها را با React.memo

برای بهینه سازی عملکرد، می توانید استفاده کنید React.memo برای به خاطر سپردن اجزای عملکردی این کار از رندرهای مجدد غیرضروری با مقایسه قطعات و تنها در صورت تغییر رندر مجدد جلوگیری می کند.

import React from 'react';

const MemoizedComponent = React.memo(({ value }) => {
  console.log('Rendering...');
  return <div>{value}div>;
});

export default MemoizedComponent;
وارد حالت تمام صفحه شوید

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

3. استفاده کنید useEffect برای عوارض جانبی

را useEffect قلاب برای ایجاد عوارض جانبی در اجزای عملکردی استفاده می شود. می توان از آن برای واکشی داده ها، اشتراک ها یا تغییر دستی DOM استفاده کرد.

import React, { useEffect, useState } from 'react';

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

  useEffect(() => {
    fetch('https://api.example.com/data')
      .then(response => response.json())
      .then(data => setData(data));
  }, []);

  return (
    <div>
      {data ? <pre>{JSON.stringify(data, null, 2)}pre> : 'Loading...'}
    div>
  );
};

export default DataFetcher;
وارد حالت تمام صفحه شوید

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

4. قلاب های سفارشی برای منطق قابل استفاده مجدد

قلاب های سفارشی به شما امکان می دهند منطق را در اجزای مختلف استخراج کرده و مجدداً استفاده کنید. این کار قابلیت استفاده مجدد کد را ارتقا می دهد و اجزای شما را تمیز نگه می دارد.

import { useState, useEffect } from 'react';

const useFetch = (url) => {
  const [data, setData] = useState(null);
  const [loading, setLoading] = useState(true);

  useEffect(() => {
    fetch(url)
      .then(response => response.json())
      .then(data => {
        setData(data);
        setLoading(false);
      });
  }, [url]);

  return { data, loading };
};

export default useFetch;
وارد حالت تمام صفحه شوید

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

5. رندر شرطی با ارزیابی مدار کوتاه

رندر شرطی را می توان با استفاده از ارزیابی اتصال کوتاه ساده کرد. این باعث می شود JSX شما تمیزتر و خواناتر شود.

const ConditionalRender = ({ isLoggedIn }) => {
  return (
    <div>
      {isLoggedIn && <p>Welcome back!p>}
      {!isLoggedIn && <p>Please log in.p>}
    div>
  );
};

export default ConditionalRender;
وارد حالت تمام صفحه شوید

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

6. استفاده کنید React.lazy برای تقسیم کد

تقسیم کد به کاهش زمان بارگذاری اولیه برنامه شما با تقسیم کد شما به بسته‌های مختلف که می‌توانند در صورت تقاضا بارگذاری شوند، کمک می‌کند.

import React, { Suspense, lazy } from 'react';

const LazyComponent = lazy(() => import('./LazyComponent'));

const App = () => (
  <div>
    <Suspense fallback={<div>Loading...div>}>
      <LazyComponent />
    Suspense>
  div>
);

export default App;
وارد حالت تمام صفحه شوید

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

7. مرزهای خطا برای مدیریت برازنده خطا

مرزهای خطا، خطاهای جاوا اسکریپت را در هر جایی از درخت مؤلفه فرزند خود می‌گیرند، آن خطاها را ثبت می‌کنند و به جای درخت مؤلفه‌ای که از کار افتاده است، یک رابط کاربری بازگشتی نمایش می‌دهند.

import React from 'react';

class ErrorBoundary extends React.Component {
  constructor(props) {
    super(props);
    this.state = { hasError: false };
  }

  static getDerivedStateFromError(error) {
    return { hasError: true };
  }

  componentDidCatch(error, errorInfo) {
    console.log(error, errorInfo);
  }

  render() {
    if (this.state.hasError) {
      return <h1>Something went wrong.h1>;
    }

    return this.props.children;
  }
}

export default ErrorBoundary;
وارد حالت تمام صفحه شوید

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

8. استفاده کنید React.Fragment برای گروه بندی عناصر

React.Fragment به شما این امکان را می دهد که لیستی از کودکان را بدون اضافه کردن گره های اضافی به DOM گروه بندی کنید. این به ویژه زمانی مفید است که شما نیاز به برگرداندن چندین عنصر از یک جزء دارید.

const List = () => {
  return (
    <React.Fragment>
      <li>Item 1li>
      <li>Item 2li>
      <li>Item 3li>
    React.Fragment>
  );
};

export default List;
وارد حالت تمام صفحه شوید

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

9. اجزای مرتبه بالاتر (HOC) برای استفاده مجدد از کد

کامپوننت های مرتبه بالاتر (HOC) الگویی در React برای استفاده مجدد از منطق کامپوننت هستند. HOC تابعی است که یک جزء را می گیرد و یک جزء جدید را برمی گرداند.

const withLogger = (WrappedComponent) => {
  return class extends React.Component {
    componentDidMount() {
      console.log('Component mounted');
    }

    render() {
      return <WrappedComponent {...this.props} />;
    }
  };
};

export default withLogger;
وارد حالت تمام صفحه شوید

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

10. استفاده کنید React.Context برای مدیریت دولتی جهانی

React.Context راهی برای انتقال داده ها از طریق درخت مؤلفه بدون نیاز به ارسال props به صورت دستی در هر سطح ارائه می دهد. این برای مدیریت دولت جهانی مفید است.

import React, { createContext, useContext, useState } from 'react';

const ThemeContext = createContext();

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

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

const useTheme = () => useContext(ThemeContext);

export { ThemeProvider, useTheme };
وارد حالت تمام صفحه شوید

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

11. بهینه سازی عملکرد با React.PureComponent

React.PureComponent مشابه است React.Component، اما اجرا می کند shouldComponentUpdate با مقایسه سطحی و حالت. این می تواند عملکرد را با کاهش رندرهای غیر ضروری بهبود بخشد.

import React from 'react';

class PureComponentExample extends React.PureComponent {
  render() {
    console.log('Rendering...');
    return <div>{this.props.value}div>;
  }
}

export default PureComponentExample;
وارد حالت تمام صفحه شوید

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

نتیجه گیری

React.js یک کتابخانه قدرتمند است که طیف گسترده ای از ویژگی ها و بهترین شیوه ها را برای کمک به توسعه دهندگان در ساخت برنامه های کاربردی کارآمد و قابل نگهداری ارائه می دهد. با استفاده از این 11 هک، می توانید فرآیند توسعه خود را ساده کنید، عملکرد را بهبود بخشید و کدهای تمیزتر و قابل استفاده مجددتر بنویسید. چه تازه کار خود را با React شروع کرده باشید و چه به دنبال افزایش مهارت های خود باشید، این نکات به شما کمک می کند توسعه دهنده React ماهرتری باشید.

کد نویسی مبارک!

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

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

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

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