My take on the current React & Server Components controversy

There has been a lot of frustration in tech Twitter over the last few weeks.
Some people are frustrated with React Server Components, and some are frustrated with the way the React team communicates.
The React team is frustrated with that “pile-on” they are facing.
And everyone is right on their own terms, but we all communicate it in the most unproductive ways.

Twitter is notorious for this kind of discussion because nuance is lost due to its 280-character limit. But I still would like to explain my take on all of this.
So I’ll try to write a blog post instead.


Do not create union types with Redux Action Types. It's most likely an antipattern.

So, there is a long-standing TypeScript & Redux pattern of creating a union RootAction type that contains all your application’s action types. Sometimes, you would also create a lot of reducer-specific sub-unions.
I think that this has always been a crutch - and given the options we have today, it’s most likely an antipattern.
So let’s look at why it was used, where it was used and what you can use instead.


Talks & Slides for the iJS Munich 2019 - reducing global React state and TypeScript for React developers

This fall, I did two talks on the international JavaScript Conference in Munich. One talk was about avoiding global state in React applications (in German), the other talk was an introduction to TypeScript for React developers.

Warum Global State keine eierlegende Wollmilchsau ist – und was wir wirklich nutzen sollten (German)

Abstract (click to expand)

In vielen React-Applikationen hat sich der Trend etabliert, die Global-State-Managementlösung (meist Redux oder MobX) zu verwenden – als Allheilmittel für alles, was auch nur im entferntesten mit State zu tun hat. Aber während der Gedanke insbesondere angesichts unzähliger Tutorials naheliegt: irgendwie fühlt es sich meist unhandlich an. Außerdem arbeiten wir damit “an React vorbei” und machen oft genug React-interne Performanceoptimierungen kaputt.

Zum Glück gibt es für viele Anwendungsfälle inzwischen bessere Lösungen, mit denen wir den Herausforderungen einer modernen React-Applikation beikommen können – am Ende bleibt ein globaler State, den man auch guten Gewissens so nennen kann.

Der Talk stellt verschiedene Arten von State in einer modernen React-Applikation vor und analysiert, welche Spielweisen besser nicht in den globalen State gehören (natürlich auch: wohin denn dann?). Beispiele, wo der globaler State weiterhin eine wichtige Rolle spielt und wie wir ihn klüger nützen können, runden den Vortrag ab.

TypeScript for React developers

Abstract (click to expand)

TypeScript adds static typing to JavaScript – and you can use it when developing applications with React. I will introduce you to the basic concepts of static typing and will show you how to use TypeScript with React. We are going to discuss not only the benefits but also the downsides of this approach. I will also show you how you can benefit from TypeScript when using state management libraries such as Redux.

Abstract by Hans-Christian Otto, who I filled in for with this talk.


View All 19 Articles →