Redux-style guide:
- Disse bør du følge!

ForrigeUke: Selbekk om Redux-regler, IoC på frontend, klassekomponenter og list-bokser.

📸: Artur Tumasjan / Unsplash
📸: Artur Tumasjan / Unsplash Vis mer

Dette var uken for en skikkelig fremtidsretta bil 🚀, ledere og deres nokså like assistenter 👯♂️ og en litt upopulær endring i Slack #️⃣.

Og 1 224 288 ting skjedde i React-verdenen!

Regler for Redux!

Redux var lenge en like populær avhengighet til React-prosjekter som React selv. “Alle” prosjekter skulle ha det, og “all” tilstand skulle leve i den store, mektige storen.

I dag har nok Redux mistet mye av sin initielle popularitet, mye på grunn av forbedringer i React sine egne APIer. Man trenger ikke lenger bruke Redux for å ha global tilstand, og koden er plutselig mye lettere uten actions, action creators, reducers, dispatchers, store creators og faens oldemor. Og godt er det.

«Følg disse, og du ender opp med mindre kode, enklere kode og færre bugs.»

Når det er sagt, så er Redux et nyttig verktøy i komplekse applikasjoner. Og viktigere enn det — det er nok allerede en ganske integrert del av legacy-appen du sitter og vedlikeholder. Da er det kanskje greit å få litt gode kjøreregler for hvordan man skal skrive det best mulig?

Redux-maintainer og ivrig kommentarskribent Mark Erikson og hans crew av maintainers har fått skrevet en inngående brukermanual til hvordan ting bør gjøres, slik at man slipper å gjette. De kaller den en style guide, og den inneholder ting man må gjøre, bør gjøre og bør vurdere å gjøre når du skriver Redux-baserte apper.

Jeg er enig i de aller fleste tipsene de kommer med. Følg disse, og du ender opp med mindre kode, enklere kode og færre bugs. Pinky promise.

IoC i front-end verdenen? 😱🤔😎

Da jeg som nyutdanna utvikler ble kasta ut i en Java-stack med Spring, ble jeg introdusert til en forkortelse som skremte livet av meg da. IoC. Inversion of Control. Jeg hadde ikke kontroll i det hele tatt, så å snu den lille kontrollen jeg hadde på huet, virka som en litt vel frisk ide.

Heldigvis forstod jeg til slutt konseptet — og det er jo et av de bedre konseptene i programvareutvikling. Og som de fleste gode programmeringskonsepter, så er de nyttige i andre språk og sammenhenger enn bare i Java!

Jeg skvatt allikevel godt til da Kent C. Dodds kom ut med en artikkel som skulle forklare meg hvordan man kunne bruke konseptene bak IoC i React-apper. Er ikke det litt vel enterprisey? Men artikkelen er 🔥 og jeg må nesten kreve at du leser den.

Artikkelen tar deg gjennom hvordan det å gi kontrollen tilbake til brukeren kan gjøre underverker for kodestrukturen din, og hvordan du kan splitte opp store og tunge komponent-APIer til lettbeinte React-komponenter som man kan sette sammen på 100 forskjellige måter.

I forsvar av klassekomponenter

Hooks er kult. Klassekomponenter er ræva. Så enkelt er det ofte når man ser seg rundt på internett om hvordan man burde skrive React-komponentene sine. Og jeg er tidvis 100 % enig i alt.

Heldigvis er det ikke alle som er like enkle å overbevise som meg. Det finnes millioner av klassekomponenter der ute, som fungerer så godt den dag som da de ble skrevet. Kanskje man skal åpne døren for at de ikke er helt forferdelige allikevel?

«Jeg er selvfølgelig totalt uenig i alt han sier, men jeg er glad jeg leste det allikevel.»

Djerve u/Tolgeros er en tapper Reddit-bruker som prøver å gjøre en case for klassekomponenter i ultimo 2019. Det er nok ingen enkel sak å gjøre, men jeg synes allikevel det var forfriskende å lese noen av tankene hans om hvorfor klassekomponenter kan være verdt å ikke avskrive helt enda. Jeg er selvfølgelig totalt uenig i alt han sier, men jeg er glad jeg leste det allikevel.

Du kan lese kommentaren hans her.

Implementering av listbokser ække easy

Jeg skriver ganske mye React-kode daglig, og jeg synes det er spennende å se på andres utfordringer for å prøve å skjønne hva andre folk sliter med. React Training’s Ryan Florence delte denne Gisten her om dagen:

Det var et interessant dypdykk i hvordan man kan jobbe med såkalte compound components, hvordan man burde lage avanserte widgets som listbokser, og hvordan noen begrensninger i React gjør det hele ganske så vanskelig.

Ta en titt på Gist-en, og se gjerne litt nedover i diskusjonen på Twitter også — det er mye å lære for både nybegynnere og eksperter!

Hør en podcast med Brian Vaughn!

Brian Vaughn er en stille, rolig kar som liker katter og løping. Når han ikke sitter og smiler rolig, så jobber han på utviklerverktøy for React-utviklere. Det er blant annet han som står bak React DevTools, og han er en del av React Core-teamet. Han er en av mine all time favoritter.

Etter talken hans på ReactConf (som du kan og bør se her), så tok han seg en time med Michael Chan og hans React Podcast-mikrofon. Han prater om hvordan React kommer til å utvikle seg fremover, og hvordan det kommer til å bli å bruke React DevTools med features som Suspense og ConcurrentMode. Veldig interessante 40 minutter!

Det var det for denne uken. Tusen takk for at du leste, og vi håper du fikk litt ut av det også. Neste uke har vi en fantastisk overraskelse til dere, som vi håper dere gleder dere til å finne ut av. Sees! 🖖