رفع یک خطا

پرسیده شده
فعالیت 1234 روز پیش
دیده شده 372 بار
0

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

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

 

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;
    }
فایل پیوست

Mohamad Reza Hejazi
Mohamad Reza Hejazi

25 آذر 99

1
حذف شده

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

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

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

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

فایل پیوست

مجتبی سوری

توسط

مجتبی سوری

26 آذر 99

جلسه مثال استفاده از getSnapshotBeforeUpdate