Hoppa till huvudinnehåll

Skillnaden mellan useState och useMemo

· En minut att läsa
Filip Tammergård
Programmerare på Frilans Finans

Titeln på det här inlägget kan verka löjlig. Självklart är useState och useMemo olika.

Men i ett avseende är de ganska lika.

Betrakta det här exemplet:

const [state] = useState(() => {
return calculateSomething(input)
})

const memo = useMemo(() => {
return calculateSomething(input)
}, [input])

Överskottsegenskaper i TypeScript

· 2 min att läsa
Filip Tammergård
Programmerare på Frilans Finans

Egenskaper som definieras på ett objekt och som inte uttrycks av objektets typ kallas överskottsegenskaper.

Här är ett exempel:

type Person = {
firstName: string
}

const person: Person = {
firstName: "Filip",
lastName: "Tammergård", // ⛔️ Object literal may only specify known properties, and 'lastName' does not exist in type 'Person'.
}

I det här fallet gör TypeScript det tydligt att lastName inte är definierad i Person-typen och därför inte är tillåten.

JavaScript-likhetstabell

· En minut att läsa
Filip Tammergård
Programmerare på Frilans Finans

Jag stötte nyligen på JavaScript equality table. Jag blir alltid imponerad av snygga sätt att visualisera sådana koncept. Och jag tänkte direkt att det skulle vara kul att bygga själv!

Välj mellan dubbelt likhetstecken och trippelt likhetstecken för att se hur det påverkar likhetstabellen.

Mouse-, touch- och pointer-events

· 5 min att läsa
Filip Tammergård
Programmerare på Frilans Finans

Jag stötte nyligen på en bugg som hade med de subtila skillnaderna mellan mouse-, touch- och pointer-events att göra. Buggen gjorde mig förvirrad – och nyfiken. Vad är egentligen skillnaden mellan dessa events?

Jag öppnade ett issue för buggen som du kan kika på om du också är nyfiken – men innan vi försöker förstå buggen behöver vi en grund med kunskap om olika typer av events.

border-radius ellipses

· 4 min att läsa
Filip Tammergård
Programmerare på Frilans Finans

När jag började lära mig CSS för många år sedan fick jag lära mig att border-radius: 50% gör en form till en ellips.

div {
width: 100px;
height: 100px;
background-color: hotpink;
border-radius: 50%;
}

Jag ifrågasatte aldrig varför. Men som du kanske gissar är 50% inget slags "ellips-hack". Allt är logiskt.

Fem omskrivningar av bloggen på fyra år

· 2 min att läsa
Filip Tammergård
Programmerare på Frilans Finans

Jag började blogga 2018. Jag använde HTML, CSS och JavaScript – inga ramverk eller beroenden.

2019 ville jag återanvända UI-komponenter, så jag skrev om bloggen i React.

2020 ville jag använda MDX, så jag skrev om bloggen i Gatsby. Jag byggde min egen lösning för internationalisering. Den fungerade, men hade några buggar som jag inte orkade prioritera.

2021 ville jag lära mig Next.js, så jag skrev om bloggen i ... Next.js.

Senare under 2021 ville jag skicka mindre JavaScript, så jag skrev om bloggen i Astro.

2022 ville jag att galenskapen skulle sluta.

Så jag skrev om bloggen i Docusaurus.

Det gjorde jag.