چطوری میتونیم از یک تابع async در useMemo استفاده کنیم؟
سلام
اگر شفافتر اون موردی که میخوای انجام بدی رو بگی بهتر میتونم کمکت بکنم!
به صورت کلی بخوام بگم عملیاتهای async رو با استفاده از useEffect میشه انجام داد و اگر هدف این که خود اون تابع رو فقط memoization روش انجام بدی میتونی از useCallback استفاده بکنی یا داخل useMemo اون تابع رو return بکنی
مجتبی سوری۱۷ اردیبهشت ۱۴۰۰، ۰۵:۴۶
مثلا در کد زیر نمیتونیم از memoPost در قسمت return کامپوننت post استفاده کنیم چون یک promise رو بر میگردونه؟
برای این مورد نیازی به استفاده از useMemo نیست! کلا احتیاجی به این نوع بهینه سازیها نیست. این کد رو میشه به روش زیر نوشت! البته این چیزی که من نوشتم یک ره حل و باید با توجه شرایط راه حل بهینه رو انتخاب کرد:
اگر بخوام یک قانون کلی در این زمینه بگم اولویت با این هست که اون تابعی که داریم از بدنه کامپوننت خارج بکنیم ولی اگر وابستگی داشت اون رو منتقل بکنیم به داخل useEffect و در اخر اگر نیاز داشتیم که خارج از useEffect باشه میشه از useCallback استفاده کرد