تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ Mohamad Reza Hejazi
رفع یک خطا
جامعه ری اکت ایجاد شده در ۲۵ آذر ۱۳۹۹

الان اگر یک پیام در چت ارسال بشه باز اسکرول میره اون بالا قرار می‌گیره!

من اینطوری حلش کردم، اگر راه حل بهتری داره بفرمایید

 

getSnapshotBeforeUpdate(prevProps, prevState) {
        if (prevProps.chatsList.length !== this.props.chatsList.length) {
            if(prevProps.chatsList[0] !== this.props.chatsList[0]){
                return this.chatListsWrapper.current.scrollHeight;
            } else {
                return 0;
            }
        }
        return null;
    }

کلا حالت‌های مختلفی ممکن اتفاق بیافته و بستگی به اون سیاستی که در پروژه تعریف میشه باید این موارد رو هندل کرد!

این که نوشتی اوکی و مشکلی نداره ولی من شخصا زیاد با این سبک کد نویسی که چند تا if داخل هم استفاده بشه زیاد میانه خوبی ندارم

دلیل اصلی هم این که ممکن بعدا یه سری شرط دیگه داشته باشی و خیلی سخت میشه!

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

مجتبی سوری ۲۶ آذر ۱۳۹۹، ۱۰:۰۲