فلاتر - فراخوانی تابعی در کلاس فرزند :)

سلام و شب بخیر

دو ماهی بود مطلبی ننوشته بودم گفته بیام یه سری چیزایی که کلی خودم براش سرچ کردم و ابزار ساختم توضیح بدم .

اگر داخل فلاتر نخواید از ابزاری مثل ریداکس یا چیزای دیگه برای نرم افزار های کوچیک استفاده کنید اون موقع ممکنه در قسمت های مختلف به مشکلات مختلفی بر بخورید و راه کار های مختلفی هم بهشون برسید.

یکی از مشکلاتی که بنده بر خوردم فراخوانی یک تابع از یک Widget توسط یک widget دیگه بود

مثلا به روز رسانی یک لیست که در کلاس فرزند به صورت statefull قرار گرفته از داخل widget یا کلاس پدر

برای این کار راه کارهای زیادی مثل stream و global key ها در flutter و زبان Dart وجد داره که می تونید استفاده کنید

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

حالا این مشکل چیه وقتی از global key استفاده کنید اولین widget که صدا می کنید به اون متصل میشه و در بعدی ها ممکنه هم اررور و هم عملکرد نا صحیح از تابع داشته باشید

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

حالا راهکاری که برای برای اپدیت کردن در کلاس فرزند child من پیدا کردم توسط کلاس پدر parent

شما برای این کار می توانید یک function ارسال کنید به کلاس فرزند که این فرزند ورودیش به صورت function باز تعریف شده است .

و یک فانکشن در کلاس فرزند دارید که قرار اون کاری که می خواید انجام بده اون به عنوان ورودی این فانکشن کلاس پدر به اون ارسال کنید و این کار در موقع initstate انجام بدید

به همین راحتی و شما در فانکشنی که در کلاس پدر وجود دارد فانکشن دریافت کنید و در یک متغیر محلی ثبتش کنید

به این صورت بدون مشکل میتونید این کار تکمیل کنید

شاید یک مقدار گنگ توضیح داده باشم اما اگر تجربه کرده باشید این مشکلات در زبان های مختلف میتونید این موارد ببینید و این راهکار بسیار عملی هست !


راستی این بگم زبان دارت خیلی شبیه C هست و همین طور فلاتر سرعت برنامه نویسی به شدت افزایش میده امیدوارم تا اخر اینقدر جذاب باشه :)