برنامه نویسی

Usecontext vs Redux Toolkit – Community Dev

من یک تازه کار در Redux هستم و واکنش نشان می دهم. اخیراً من در حال تهیه یک پروژه با React هستم ، و من در حال ساختن API تأیید اعتبار کاربر و مدیریت اطلاعات کاربر با استفاده از Redux هستم. من باید دانش خود را در مورد Redux عمیق تر کنم و واکنش نشان دهم زیرا برای یک مبتدی کاملاً چالش برانگیز است.
من مقاله ای در مورد رسیدگی به دولت جهانی پیدا کردم. در این مقاله گزینه های مختلفی برای مدیریت دولت جهانی ارائه شده است.
یکی از مواردی که می خواستم کشف کنم “زمینه” بود. در زیر چند نمونه کد ساده برای بررسی تفاوت بین متن React و Redux آورده شده است.

  1. اعلام متن.

اول ، من یک زمینه را با استفاده از createContextبشر این مقدار پیش فرض است. و می توانید یک مقدار را با useState اگر می خواهید (اگر مقدار را اعلام نکنید ، از مقدار پیش فرض استفاده می شود)

const ThemeContext = createContext('light');

const Main = () => {
  const [theme, setTheme] = useState('light');
حالت تمام صفحه را وارد کنید

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

  1. ارائه یک مقدار در themecontext.provider. “موضوع” یا همه چیز خوب است. اما اگر به یک مقدار پویا احتیاج دارید ، باید از آن استفاده کنید useStateبشر

حالت تمام صفحه را وارد کنید

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

  1. از حالت جهانی استفاده می کنید؟ در این حالت ، دسترسی {theme} در داخل Panel مؤلفه خوب کار می کند. چون Panel فرزند است Mainبشر من سعی کردم مقدار را تغییر دهم و به درستی روی صفحه به روز شد.
function Panel({ title, children }) {
  const theme = useContext(ThemeContext);
  const className="panel-" + theme;
  return (
    
{children}
) }
حالت تمام صفحه را وارد کنید

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

من هم اینجا امتحان کردم مقدار اولیه به درستی نمایش داده شد ، اما وقتی سعی کردم آن را روی صفحه تغییر دهم ، به روز نشد. این اتفاق می افتد زیرا Test مربوط به هر چیزی اصلی یا پانل نیست (نه در themecontext.provider). بنابراین فقط مقدار پیش فرض یا مقدار اولیه را به ما نشان می دهد.

function Test() {
  const theme = useContext(ThemeContext);
  return (
    

This is {theme}

) }
حالت تمام صفحه را وارد کنید

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

من از Redux Toolkit استفاده کردم ، بسیار ساده است که Global State را فراخوانی می کند.

const count = useSelector(state => state.counter.value)
حالت تمام صفحه را وارد کنید

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

شما فقط آن را به یک مؤلفه اضافه می کنید.
مؤلفه ها لازم نیست که مربوط باشند. شما لازم نیست که یک پیشنهاد را منتقل کنید.
من می توانم مقدار تغییر را وقتی روی دکمه در هر جایی که کد بالا را وارد می کنم ، ببینم.


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

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

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

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

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