🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
⚠️ Malware / Trojaner / VirenWindows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC(10.09.2026 um 20:11 Uhr)
⚠️ Malware / Trojaner / VirenVorsicht: Android-Malware verschlüsselt Ihre Handys und nimmt heimlich Fotos auf(11.09.2026 um 09:35 Uhr)
🕵️ SicherheitslückenMicrosoft geht endlich eines der nervigsten Probleme von Windows 11 an(11.09.2026 um 11:58 Uhr)
💾 IT Security ToolsSysinternals Suite(11.09.2026 um 12:00 Uhr)
🕵️ SicherheitslückenDefender 0-Day ShieldBreak (CVE-2026-69414) nicht sauber gepatcht - BornCity(11.09.2026 um 12:52 Uhr)
🪟 Windows TippsThe Gemini desktop app is now available for Windows(11.09.2026 um 17:06 Uhr)
⚠️ Malware / Trojaner / VirenWindows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC(10.09.2026 um 20:11 Uhr)
⚠️ Malware / Trojaner / VirenVorsicht: Android-Malware verschlüsselt Ihre Handys und nimmt heimlich Fotos auf(11.09.2026 um 09:35 Uhr)
🕵️ SicherheitslückenMicrosoft geht endlich eines der nervigsten Probleme von Windows 11 an(11.09.2026 um 11:58 Uhr)
💾 IT Security ToolsSysinternals Suite(11.09.2026 um 12:00 Uhr)
🕵️ SicherheitslückenDefender 0-Day ShieldBreak (CVE-2026-69414) nicht sauber gepatcht - BornCity(11.09.2026 um 12:52 Uhr)

🔧 Programmierung 🕛 vor 3 Monaten 2 Min Lesezeit
0

Code smell or not - useEffect with extra dependecies?

↗ Quelle (dev.to)
🗣️ Stimme:

I recently came across a piece of React code that caught my attention (new project, new codebase and this pattern is used quite a lot).



Imagine you have a table displaying a list of movies and you can select each movie row by ticking a checkbox. The checkbox selection needs to reset every time the user selects a different year, category or rating somewhere else on the page (the table needs to display new data when these filters are changed, so the selection is no longer valid).



The code I am talking about was a useEffect that was setting the selectedMovieId state and it was written something like:




CODE
const [selectedMovieId, setSelectedMovieId] = useState<string>("")

// more code here...

useEffect(() => {
setSelectedMovieId(null)
}, [
selectedYear,
selectedCategory,
selectedUserRating
])






I looked at the code for a few seconds before understanding that the developer was trying to update the state by providing extra dependencies to useEffect instead of doing that inside the event handlers of the year, category and user rating filters.



I would have written the code differently, making the selectedMovieId value get changed by functions, which themselves would be the source of the mutation and remove the useEffect.




CODE
const handleYearChange = (year: YearType) => {
setSelectedYear(year)
// something something...
setSelectedMovieId(null)
}

const handleCategoryChange = (category: CategoryType) => {
setSelectedCategory(category)
// something something...
setSelectedMovieId(null)
}

const handleRatingChange = (rating: RatingType) => {
setSelectedUserRating(rating)
// something something...
setSelectedMovieId(null)
}






While the original code is working, if in the future more filters will be added, we risk that the useEffect will never be updated with the extra dependencies, since this piece of logic can be easily missed.



Would you use this pattern? If yes, when?

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
The Gemini desktop app is now available for Windows
1 Quelle
Windows 11 just dropped the tool ransomware abused, Microsoft says don’t restore WMIC
1 Quelle
Vorsicht: Android-Malware verschlüsselt Ihre Handys und nimmt heimlich Fotos auf
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Code smell or not - useEffect with extra dependecies?

Thematisch verwandte Begriffe: Code, smell, useEffect, with · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...