نحو یک کاهش دهنده در Redux چیست؟

Jul 09, 2025

پیام بگذارید

سلام! من به عنوان یک تأمین کننده کاهش دهنده ، اغلب در مورد نحو یک کاهش دهنده در Redux سؤال می کنم. بنابراین ، بیایید درست شیرجه بزنیم و آن را به شکلی که درک آن آسان باشد ، تجزیه کنیم.

اول از همه ، Redux یک ظرف حالت قابل پیش بینی برای برنامه های JavaScript است. این به شما کمک می کند تا وضعیت برنامه خود را با روشی سازمان یافته تر و کارآمدتر مدیریت کنید. و کاهش دهنده ها نقش مهمی در این فرایند دارند.

یک کاهش دهنده در Redux یک عملکرد خالص است که وضعیت فعلی را به خود می گیرد و یک عمل را به عنوان استدلال می کند و حالت جدیدی را برمی گرداند. این مانند یک سرآشپز است که مواد اولیه (وضعیت فعلی و عمل) را می گیرد و یک وعده غذایی خوشمزه (حالت جدید) ایجاد می کند.

نحو اساسی یک کاهش دهنده به این شکل است:

عملکرد کاهش دهنده (حالت ، عمل) {سوئیچ (action.type) {مورد 'action_type_1': // منطق برای رسیدگی به عمل_type_1 بازگشت NewState ؛ مورد 'action_type_2': // منطق برای رسیدگی به Action_Type_2 بازگشت NewState ؛ پیش فرض: وضعیت بازگشت ؛ }}

بیایید این مرحله به مرحله را کنار بگذاریم.

تعریف عملکرد

قسمت اول تعریف عملکرد است. ما تابعی به نام تعریف می کنیمکاهش دهندهاین دو پارامتر طول می کشد:حالتوتعملبشر درحالتوضعیت فعلی برنامه را نشان می دهد ، وعملشیء است که توصیف می کند چه تغییری در دولت ایجاد می شود.

عبارت سوئیچ

در داخل عملکرد ، ما از a استفاده می کنیمسوئیچبیانیه برای رسیدگی به انواع مختلف اقدامات. هر یکموردمطابق با یک نوع عمل خاص است. به عنوان مثال ، اگر نوع عمل باشد'action_type_1'، ما منطق را برای رسیدگی به آن عمل و بازگشت حالت جدید انجام می دهیم.

مورد پیش فرض

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

حال ، بیایید در مورد چگونگی ارتباط این تجارت من به عنوان تأمین کننده کاهش دهنده صحبت کنیم. در دنیای واقعی ، ما با انواع مختلفی از کاهش دهنده ها ، مانندفولاد ضد زنگ کاهش دهنده خارج از مرکزباکاهش دهنده فولاد آلیاژوتفولاد ضد زنگ کنسریبشر

دقیقاً مانند Redux ، هر نوع کاهش دهنده عملکرد خاص و مورد استفاده خود را دارد. به عنوان مثال ، در صورت نیاز به اتصال لوله هایی با اندازه های مختلف ضمن حفظ تراز خاص ، از یک کاهش دهنده خارج از مرکز استفاده می شود. از طرف دیگر ، از یک کاهش دهنده متمرکز استفاده می شود که می خواهید لوله هایی با اندازه های مختلف را به روشی متمرکز تر وصل کنید.

Alloy Steel Eccentric ReducerStainless Steel Eccentric Reducer

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

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

// حالت اولیه const InitialState = [] ؛ تابع TODOREDUCER (state = IdomateState ، عمل) {سوئیچ (action.type) {مورد 'add_todo': بازگشت [... حالت ، عمل. payload] ؛ مورد "mark_completed": بازگشت حالت. map (todo => todo.id === action.payload.id؟ {... todo ، تکمیل: true}: todo) ؛ مورد 'Delete_todo': Return State.Filter (TODO => TODO.ID! == Action.payload.id) ؛ پیش فرض: وضعیت بازگشت ؛ }}

در این مثال ،اضافه کردن_عمل یک مورد جدید را به دولت اضافه می کند. درmark_completedعمل یک مورد خاص را به صورت کامل انجام می دهد ، وحذف_تودعمل یک مورد کارها را از دولت حذف می کند.

حال ممکن است تعجب کنید که چگونه از این کاهش دهنده در برنامه خود استفاده کنید. در redux ، شما به طور معمول ازسازندهعملکرد ازمجدداًکتابخانه برای ایجاد فروشگاهی که دولت را در خود جای داده و از کاهش دهنده برای به روزرسانی حالت استفاده می کند.

واردات {Createstore} از 'redux' ؛ Const Store = Createstore (todoreducer) ؛ // اعزام یک اقدام برای افزودن یک فروشگاه مورد جدید برای do-do.dispatch ({نوع: 'add_todo' ، payload: {id: 1 ، متن: 'خرید مواد غذایی' ، تکمیل: false}}) ؛ // دریافت حالت فعلی const currentState = Store.getState () ؛ Console.Log (CurrentState) ؛

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

بنابراین ، آنجا آن را دارید! این نحو اساسی یک کاهش دهنده در Redux است. این که آیا شما در حال کار بر روی یک برنامه لیست ساده و یا یک برنامه پیچیده در سطح شرکت هستید ، کاهش دهنده ها ابزاری قدرتمند برای مدیریت وضعیت برنامه شما هستند.

اگر در بازار کاهش دهنده های با کیفیت بالا برای سیستم های لوله کشی خود هستید ، خواه یکفولاد ضد زنگ کاهش دهنده خارج از مرکزباکاهش دهنده فولاد آلیاژ، یافولاد ضد زنگ کنسری، احساس راحتی کنید تا برای مشاوره به ما مراجعه کنید. ما اینجا هستیم تا به شما کمک کنیم راه حل مناسب برای نیازهای خود را پیدا کنید.

منابع

  • مستندات Redux: مستندات رسمی Redux اطلاعات عمیق در مورد کاهش دهنده ها و سایر مفاهیم Redux ارائه می دهد.
  • JavaScript for Dummies: یک منبع عالی برای یادگیری اصول اولیه JavaScript ، که برای درک Redux ضروری است.