Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

❌ Avoid deriving state in useEffect in React, this can create multiple unnecessary render phases. ✅ Instead derive the state directly in the event handler, this way you'll have one single render phase. ↓

33,474 görüntüleme • 1 yıl önce •via X (Twitter)

11 Yorum

Nikhil S profil fotoğrafı
Nikhil S1 yıl önce

A more simple approach in this case is to derive the value during render const isValid = isYearOfBirthValid(yearOfBirth)

Christian Esmann profil fotoğrafı
Christian Esmann1 yıl önce

I just launched an all-in-one template for cross-platform development, based on the stack I use myself everyday. Expo, NextJS, TypeScript, Tailwind, Firebase, AppsFlyer, Authentication, Analytics, In-App Purchases, Stripe and a lot more, setup by default.

mikhaylovich profil fotoğrafı
mikhaylovich1 yıl önce

is it valid to replace all of that (useEffect + useState) with an useMemo? it still tracks each change on yearOfBirth, applies the validation, returns 'isValid' but also drops the extra useState on isValid and it's much cleaner (also setYearOfBirth is moved to onChange)

Fabrizio profil fotoğrafı
Fabrizio1 yıl önce

This is as much as an antipattern as the useEffect solution, just derive during the render and add useMemo if needed (only if needed)

Ryan Faust profil fotoğrafı
Ryan Faust1 yıl önce

As a self learned coder, I didn't know this. Or many other best practices. Your content is gold for me.

Toyyib 💙 profil fotoğrafı
Toyyib 💙1 yıl önce

@Rhoy__b @ibr9heem

Ali Bey profil fotoğrafı
Ali Bey1 yıl önce

I avoid useEffect whenever I can

Travis Watson profil fotoğrafı
Travis Watson1 yıl önce

useMemo is gonna blow your mind

Mmina_SCRM Solutions profil fotoğrafı
Mmina_SCRM Solutions1 yıl önce

deriving state in event handlers is a smart move. it cuts down on extra renders, making your app run smoother. keep it efficient, especially in complex components.

shubham Gupta profil fotoğrafı
shubham Gupta1 yıl önce

This is a great insight. The animation in your post is super clean—may I ask which tool you used to create it?

tna 7792 profil fotoğrafı
tna 77921 yıl önce

The official documentation explains this in detail.

Benzer Videolar