Seb ⚛️ ThisWeekInReact.com
@sebastienlorber.com
🔥 Join 45k React devs - Stay up-to-date:
📨 ThisWeekInReact.com
Docusaurus maintainer @ Meta
📨 ThisWeekInReact.com
Docusaurus maintainer @ Meta
React dev using useEffect:
November 11, 2025 at 10:59 AM
React dev using useEffect:
TIL about the JS "Declarations in Conditionals" proposal
This lets you write const/let inside if/while block
Curious, would you use this?
I think I like it, could make code slightly less verbose and still explicit
(TC39 stage 1, will be presented for stage 2 next week)
github.com/tc39/proposa...
This lets you write const/let inside if/while block
Curious, would you use this?
I think I like it, could make code slightly less verbose and still explicit
(TC39 stage 1, will be presented for stage 2 next week)
github.com/tc39/proposa...
November 10, 2025 at 5:01 PM
TIL about the JS "Declarations in Conditionals" proposal
This lets you write const/let inside if/while block
Curious, would you use this?
I think I like it, could make code slightly less verbose and still explicit
(TC39 stage 1, will be presented for stage 2 next week)
github.com/tc39/proposa...
This lets you write const/let inside if/while block
Curious, would you use this?
I think I like it, could make code slightly less verbose and still explicit
(TC39 stage 1, will be presented for stage 2 next week)
github.com/tc39/proposa...
All React apps
November 10, 2025 at 8:41 AM
All React apps
👀 React Suspense for CPU-intensive tasks
We've heard about it a long time ago, and the API has recently been refined as a simple "defer" boolean prop.
🚧 Not ready for prime time, but it should be in the next experimental channel release
github.com/facebook/rea...
We've heard about it a long time ago, and the API has recently been refined as a simple "defer" boolean prop.
🚧 Not ready for prime time, but it should be in the next experimental channel release
github.com/facebook/rea...
November 7, 2025 at 9:27 AM
👀 React Suspense for CPU-intensive tasks
We've heard about it a long time ago, and the API has recently been refined as a simple "defer" boolean prop.
🚧 Not ready for prime time, but it should be in the next experimental channel release
github.com/facebook/rea...
We've heard about it a long time ago, and the API has recently been refined as a simple "defer" boolean prop.
🚧 Not ready for prime time, but it should be in the next experimental channel release
github.com/facebook/rea...
This Week In React 257 - 🤝 Armand & I
🍿 Read: thisweekinreact.com/newsletter/257
⚛️
- Navigation API
- Partial Pre-Rendering
- Directives
- Micro-frontends
- Storybook
- Immer
📱
- Godot
- Uniwind
- Critical DevServer vulnerability 🚨
- GPU
- iOS filters
- Windows
- Hermes
🍿 Read: thisweekinreact.com/newsletter/257
⚛️
- Navigation API
- Partial Pre-Rendering
- Directives
- Micro-frontends
- Storybook
- Immer
📱
- Godot
- Uniwind
- Critical DevServer vulnerability 🚨
- GPU
- iOS filters
- Windows
- Hermes
November 5, 2025 at 6:59 PM
This Week In React 257 - 🤝 Armand & I
🍿 Read: thisweekinreact.com/newsletter/257
⚛️
- Navigation API
- Partial Pre-Rendering
- Directives
- Micro-frontends
- Storybook
- Immer
📱
- Godot
- Uniwind
- Critical DevServer vulnerability 🚨
- GPU
- iOS filters
- Windows
- Hermes
🍿 Read: thisweekinreact.com/newsletter/257
⚛️
- Navigation API
- Partial Pre-Rendering
- Directives
- Micro-frontends
- Storybook
- Immer
📱
- Godot
- Uniwind
- Critical DevServer vulnerability 🚨
- GPU
- iOS filters
- Windows
- Hermes
The React core team when they see devs using useEffect
November 5, 2025 at 11:29 AM
The React core team when they see devs using useEffect
👀 Navigation API will be available in all browsers soon 🎉
Completely redefines the APIs used to build client-side routers / SPAs
🫤 History API: popState, link click.preventDefault() ...
✅ Navigation API: clean, centralized way to intercept navigation events 👌
Completely redefines the APIs used to build client-side routers / SPAs
🫤 History API: popState, link click.preventDefault() ...
✅ Navigation API: clean, centralized way to intercept navigation events 👌
November 5, 2025 at 9:35 AM
👀 Navigation API will be available in all browsers soon 🎉
Completely redefines the APIs used to build client-side routers / SPAs
🫤 History API: popState, link click.preventDefault() ...
✅ Navigation API: clean, centralized way to intercept navigation events 👌
Completely redefines the APIs used to build client-side routers / SPAs
🫤 History API: popState, link click.preventDefault() ...
✅ Navigation API: clean, centralized way to intercept navigation events 👌
The Navigation API is also in Firefox 146 nightly
This is going to be available everywhere soon 🎉
This is going to be available everywhere soon 🎉
November 5, 2025 at 9:17 AM
The Navigation API is also in Firefox 146 nightly
This is going to be available everywhere soon 🎉
This is going to be available everywhere soon 🎉
👀 Remix published their event/interaction package
Nicely composable API, not coupled to any framework
I like its built-in/custom interaction system, which could help remove event-related state/complexity from your UI components
Wonder if this makes sense to use with React?
Nicely composable API, not coupled to any framework
I like its built-in/custom interaction system, which could help remove event-related state/complexity from your UI components
Wonder if this makes sense to use with React?
November 5, 2025 at 8:36 AM
👀 Remix published their event/interaction package
Nicely composable API, not coupled to any framework
I like its built-in/custom interaction system, which could help remove event-related state/complexity from your UI components
Wonder if this makes sense to use with React?
Nicely composable API, not coupled to any framework
I like its built-in/custom interaction system, which could help remove event-related state/complexity from your UI components
Wonder if this makes sense to use with React?
Firefox just unflagged support for CSS @ scope 🎉
Soon available in all browsers
Soon available in all browsers
November 4, 2025 at 6:08 PM
Firefox just unflagged support for CSS @ scope 🎉
Soon available in all browsers
Soon available in all browsers
Chrome 143 beta is upgrading Intl API / ICU
I was wondering: isn't this kind of change likely to produce React hydration mismatches?
I mean, SSR and client-side React must render the exact same formatted values 🤷♂️
Node/Browser ICU may not be in sync
I was wondering: isn't this kind of change likely to produce React hydration mismatches?
I mean, SSR and client-side React must render the exact same formatted values 🤷♂️
Node/Browser ICU may not be in sync
November 4, 2025 at 6:04 PM
Chrome 143 beta is upgrading Intl API / ICU
I was wondering: isn't this kind of change likely to produce React hydration mismatches?
I mean, SSR and client-side React must render the exact same formatted values 🤷♂️
Node/Browser ICU may not be in sync
I was wondering: isn't this kind of change likely to produce React hydration mismatches?
I mean, SSR and client-side React must render the exact same formatted values 🤷♂️
Node/Browser ICU may not be in sync
November 4, 2025 at 10:12 AM
Agree, I misread this a bit as if you said "they are not strings"
Still, they are more than strings, but they still inherit the drawbacks of strings, including being more difficult to type
If we limit ourselves to a simple finite list of directives, I guess TS could allow typechecking them?
Still, they are more than strings, but they still inherit the drawbacks of strings, including being more difficult to type
If we limit ourselves to a simple finite list of directives, I guess TS could allow typechecking them?
November 4, 2025 at 8:46 AM
Agree, I misread this a bit as if you said "they are not strings"
Still, they are more than strings, but they still inherit the drawbacks of strings, including being more difficult to type
If we limit ourselves to a simple finite list of directives, I guess TS could allow typechecking them?
Still, they are more than strings, but they still inherit the drawbacks of strings, including being more difficult to type
If we limit ourselves to a simple finite list of directives, I guess TS could allow typechecking them?
Directives are String literals according to the spec
They are just a special kind of string literals
(I'm not against the usage of directives, just want to clarify my disagreement)
They are just a special kind of string literals
(I'm not against the usage of directives, just want to clarify my disagreement)
November 4, 2025 at 8:23 AM
Directives are String literals according to the spec
They are just a special kind of string literals
(I'm not against the usage of directives, just want to clarify my disagreement)
They are just a special kind of string literals
(I'm not against the usage of directives, just want to clarify my disagreement)
That's also why I disagree when you say "they are not just strings"
Actually, they are "StringLiteral" according to the spec, but they are a specific type of string literal
It's a bit like saying JSON strings are not strings. They are, but they have different utility than any other kind of string
Actually, they are "StringLiteral" according to the spec, but they are a specific type of string literal
It's a bit like saying JSON strings are not strings. They are, but they have different utility than any other kind of string
November 4, 2025 at 8:16 AM
That's also why I disagree when you say "they are not just strings"
Actually, they are "StringLiteral" according to the spec, but they are a specific type of string literal
It's a bit like saying JSON strings are not strings. They are, but they have different utility than any other kind of string
Actually, they are "StringLiteral" according to the spec, but they are a specific type of string literal
It's a bit like saying JSON strings are not strings. They are, but they have different utility than any other kind of string
Even if there was no "directive" attribute and it was just "type: string" you could easily infer from the AST structure/parent that it's a literal that is not used or assigned
body => ExpressionStatement => String literal is a top-level directive
body => ExpressionStatement => String literal is a top-level directive
November 4, 2025 at 8:12 AM
Even if there was no "directive" attribute and it was just "type: string" you could easily infer from the AST structure/parent that it's a literal that is not used or assigned
body => ExpressionStatement => String literal is a top-level directive
body => ExpressionStatement => String literal is a top-level directive
This Week In React 256 - 🤝 @filipkaminski.com @piaskowyk.bsky.social
🍿 Read/subscribe: thisweekinreact.com/newsletter/256
⚛️
- Next.js / Cache Components
- Directives drama
- TanStack
- Storybook
- Waku
- shadcn
- Rari
📱
- React Navigation
- Expo / EAS
- Gesture Handlers
- Screens
- Nitro
Enjoy!
🍿 Read/subscribe: thisweekinreact.com/newsletter/256
⚛️
- Next.js / Cache Components
- Directives drama
- TanStack
- Storybook
- Waku
- shadcn
- Rari
📱
- React Navigation
- Expo / EAS
- Gesture Handlers
- Screens
- Nitro
Enjoy!
October 29, 2025 at 5:20 PM
This Week In React 256 - 🤝 @filipkaminski.com @piaskowyk.bsky.social
🍿 Read/subscribe: thisweekinreact.com/newsletter/256
⚛️
- Next.js / Cache Components
- Directives drama
- TanStack
- Storybook
- Waku
- shadcn
- Rari
📱
- React Navigation
- Expo / EAS
- Gesture Handlers
- Screens
- Nitro
Enjoy!
🍿 Read/subscribe: thisweekinreact.com/newsletter/256
⚛️
- Next.js / Cache Components
- Directives drama
- TanStack
- Storybook
- Waku
- shadcn
- Rari
📱
- React Navigation
- Expo / EAS
- Gesture Handlers
- Screens
- Nitro
Enjoy!
This Week In React 255:
⚛️
- Next.js
- RSC
- shadcn Field
- TanStack
- 3D / XR
- Fumadocs
📱
- Solito
- iOS header items
- Bottom Tabs
- MMKV
- ImGui
🍿 Read/subscribe: thisweekinreact.com/newsletter/255
⚛️
- Next.js
- RSC
- shadcn Field
- TanStack
- 3D / XR
- Fumadocs
📱
- Solito
- iOS header items
- Bottom Tabs
- MMKV
- ImGui
🍿 Read/subscribe: thisweekinreact.com/newsletter/255
October 22, 2025 at 6:15 PM
This Week In React 255:
⚛️
- Next.js
- RSC
- shadcn Field
- TanStack
- 3D / XR
- Fumadocs
📱
- Solito
- iOS header items
- Bottom Tabs
- MMKV
- ImGui
🍿 Read/subscribe: thisweekinreact.com/newsletter/255
⚛️
- Next.js
- RSC
- shadcn Field
- TanStack
- 3D / XR
- Fumadocs
📱
- Solito
- iOS header items
- Bottom Tabs
- MMKV
- ImGui
🍿 Read/subscribe: thisweekinreact.com/newsletter/255
If you are curious, here's what a Remix v3 component looks like
October 15, 2025 at 5:01 PM
If you are curious, here's what a Remix v3 component looks like
This Week In React 254 - 🤝 @kacperkapusciak.bsky.social @piaskowyk.bsky.social
🍿 Read/subscribe: thisweekinreact.com/newsletter/254
⚛️
- Next.js 16 beta
- Remix 3 preview
- Compiler
- Async React
- TanStack
- Cloudflare
- Hook Form
📱
- VirtualView
- DevTools
- Harness
- Audio
- Screens
- Radon
🍿 Read/subscribe: thisweekinreact.com/newsletter/254
⚛️
- Next.js 16 beta
- Remix 3 preview
- Compiler
- Async React
- TanStack
- Cloudflare
- Hook Form
📱
- VirtualView
- DevTools
- Harness
- Audio
- Screens
- Radon
October 15, 2025 at 4:45 PM
This Week In React 254 - 🤝 @kacperkapusciak.bsky.social @piaskowyk.bsky.social
🍿 Read/subscribe: thisweekinreact.com/newsletter/254
⚛️
- Next.js 16 beta
- Remix 3 preview
- Compiler
- Async React
- TanStack
- Cloudflare
- Hook Form
📱
- VirtualView
- DevTools
- Harness
- Audio
- Screens
- Radon
🍿 Read/subscribe: thisweekinreact.com/newsletter/254
⚛️
- Next.js 16 beta
- Remix 3 preview
- Compiler
- Async React
- TanStack
- Cloudflare
- Hook Form
📱
- VirtualView
- DevTools
- Harness
- Audio
- Screens
- Radon
React vs Remix - Do we really want to move back to imperative re-renders?
As far as I remember, we already tried that
See, for example, this BackboneJS counter
As far as I remember, we already tried that
See, for example, this BackboneJS counter
October 14, 2025 at 10:30 AM
React vs Remix - Do we really want to move back to imperative re-renders?
As far as I remember, we already tried that
See, for example, this BackboneJS counter
As far as I remember, we already tried that
See, for example, this BackboneJS counter
TIL that HTML has an <output> tag for years 😅
Useful for semantic and accessibility
Here, the example is a simple addition
But it's also useful for async dynamic results computed on the server using modern frontend frameworks like React
Useful for semantic and accessibility
Here, the example is a simple addition
But it's also useful for async dynamic results computed on the server using modern frontend frameworks like React
October 14, 2025 at 9:31 AM
TIL that HTML has an <output> tag for years 😅
Useful for semantic and accessibility
Here, the example is a simple addition
But it's also useful for async dynamic results computed on the server using modern frontend frameworks like React
Useful for semantic and accessibility
Here, the example is a simple addition
But it's also useful for async dynamic results computed on the server using modern frontend frameworks like React
This Week In React 253 - Special React Conf
🍿 Read/subscribe: thisweekinreact.com/newsletter/253
⚛️
- Compiler 1.0
- React Foundation
-
-
- useEffectEvent
-
📱
- RN 0.82
- Hermes V1
- DOM APIs
- Vega OS
- Keyboard Controller
- IAP
- Skia
🍿 Read/subscribe: thisweekinreact.com/newsletter/253
⚛️
- Compiler 1.0
- React Foundation
-
-
- useEffectEvent
-
📱
- RN 0.82
- Hermes V1
- DOM APIs
- Vega OS
- Keyboard Controller
- IAP
- Skia
October 8, 2025 at 6:22 PM
This Week In React 253 - Special React Conf
🍿 Read/subscribe: thisweekinreact.com/newsletter/253
⚛️
- Compiler 1.0
- React Foundation
-
-
- useEffectEvent
-
📱
- RN 0.82
- Hermes V1
- DOM APIs
- Vega OS
- Keyboard Controller
- IAP
- Skia
🍿 Read/subscribe: thisweekinreact.com/newsletter/253
⚛️
- Compiler 1.0
- React Foundation
-
-
- useEffectEvent
-
📱
- RN 0.82
- Hermes V1
- DOM APIs
- Vega OS
- Keyboard Controller
- IAP
- Skia