Seb βš›οΈ ThisWeekInReact.com Profile picture
Sep 21, 2021 β€’ 27 tweets β€’ 19 min read β€’ Read on X
This week in React

πŸ‘‰ React 18 updates
πŸ‘‰ Gatsby 4
πŸ‘‰ Context
πŸ‘‰ FileSystem routing
πŸ‘‰ Shadows
πŸ‘‰ React & RN history flashback
πŸ‘‰ Next.js & Vercel
πŸ‘‰ State Management
πŸ‘‰ Custom hooks readability
πŸ‘‰ React Native everywhere
πŸ‘‰ React Native windows
πŸ‘‰ Corepack
...

🧡 Details πŸ‘‡
1/ @dan_abramov shared a long React 18 update, mostly for course creators:

github.com/reactwg/react-…

Some APIs are stable. There's still a good amount of work left

We shouldn't extrapolate the Big Picture vision too much for now

React 18 is not only for FB scale apps
2/ @gatsbyjs 4 introduced by @schaudustin

v4.gatsbyjs.com/gatsby-4/

- SSR
- deferred static generation
- parallel query running

New exciting features, and should close the gap with Next.js in terms of feature parity.

I bet @netlify will support Gatsby SSR/DSG soon 🀣
3/ @PierreOuannes shared how to use React Context like a Pro

devtrium.com/posts/how-use-…

Multiple tips I agree with, some not widely known:

- encapsulate your context behind custom provider/hooks

- memoize value

- split in 2 contexts (state + update API)
4/ @oedotme explains how to create your own file-based routing on top of React-Router

omarelhawary.me/blog/file-base…

Inspired by Next.js APIs

Using Vite (globEager) but this can probably be done with Webpack too IMHO (require.context)
5/ @joshwcomeau explains how to create coherent and realistic shadows in CSS

joshwcomeau.com/css/designing-…

Stop randomly picking box-shadow values!

Use your intuition of how the physical world and lightning works, and techniques like shadow layering

Provides Styled-Components impl
6/ 🎧 How React got Traction

swyx.transistor.fm/episodes/how-r…

@swyx's flashback of React history with this old podcast sample:

- initial VS second introduction

- role of @floydophone and @swannodette 's famous blog post, convincing FP enthusiasts (including me 😜)
7/ 🎧 @vercel and Next.js with @rauchg & @logrocket

podrocket.logrocket.com/vercel

Various interesting insights:

Relationship of DX & UX

Particularly liked the SEO part (Web Vitals, RUM, AMP, CSR...)

Next.js conf (26 Oct): a promise of exciting announcements πŸ€—
8/ 🧡 10 State Management lessons by @housecor

Most I can agree with 😜

9/ Readability Analysis Of Implementing Custom Hooks by @keraito

chakshunyu.com/blog/react-rea…

Another interesting analysis of the readability tradeoffs of multiple possible React implementations
10/ TypeScript + React: Children types are broken by @ddprrt

fettblog.eu/react-types-fo…

Describes how one very old typing in React typedefs prevents good typing of the children props. And now it's hard to change it πŸ˜….

But you can fix it in your codebase
11/ Running React Native everywhere by @mazzarolomatteo

mmazzarolo.com/blog/2021-09-1…

Matteo published a boilerplate + tooling for developing cross-platform apps. Explains how it works in a series.

πŸ€” strong opinion: use different RN versions per platform (macos is still 0.63)
12/ 🎧 React Native's Near Death Experience (@swyx mixtape extract from recent @sourcegraph podcast)

swyx.transistor.fm/episodes/react…

Another flashback with @vjeux about the history of RN

React-iOS born from a hackathon to solve mobile dev velocity

Story almost ended there πŸ˜†
13/ React-Native-Windows content by @callstackio

Series of 3 blog posts by Bartosz Klonowski + podcast with @grabbou

Various insights, from business to tech: advantages over Electron, details about brownfield RN Windows apps...

callstack.com/blog/why-use-r…
14/ Twitter's div Soup and Uglyfied CSS, Explained by @giuseppegurgone

Explains some details about React-Native-Web, used by Twitter

Mention atomic classes, accessibility, devtools...

giuseppegurgone.com/twitter-html/
15/ React-Native-Screens 3.7.0 by @swmansion

The new onTransitionProgress event on the native stack enables a few new animated use-cases πŸ€—

16/ Epic vs Apple

"Apple must allow other forms of in-app purchase, rules judge in Epic v. Apple"

Not strictly related to RN, but still quite important news for the mobile industry :)

theverge.com/2021/9/10/2266…
17/ Flutter vs React-Native by @Nash0x7E2

getstream.io/blog/flutter-v…

Article from a Flutter dev from @getstream_io , maintaining SDKs for both platforms.

A bit biased, still an interesting comparison (aware of JSI, maybe not React-Native Skia πŸ˜†)
18/ Corepack in Node.js 16.9 by @arcanis (experimental)

nodejs.org/dist/latest-v1…

Allows better integration of Yarn & pnmp in Node.js

Can ensure everyone uses same version

Biasing toward npm usage was not really fair, it's a lucrative company
19/ Small Bundles, Fast Pages: What To Do With Too Much JavaScript by @benschwarz

calibreapp.com/blog/bundle-si…

Good perf tips, many of them can be applied to React apps

Discovered react-live-chat-loader, allowing performant integration of widgets like Intercom
20/ @replayio by @jasonlaster11

replay.io

New kind of time-travel debugging experience

So many thought leaders say it's awesome

Works with any app: not just Redux, and also plan to support backend πŸ˜†
21/ @_buildspace

A new project-based course for web devs that want to learn crypto / web

Many said it's a really nice new way to learn while leveraging your web / JS / React knowledge

buildspace.so
22/ Web Vitals patterns

"A collection of common UX patterns optimized for Core Web Vitals. This collection includes patterns that are often tricky to implement without hurting your Core Web Vitals scores."

web.dev/patterns/web-v…
23/ Petite Vue

github.com/vuejs/petite-v…

A new 6Kb subset of Vue, with most of the features, by Evan You

Looks like the equivalent of Preact for Vue
24) TypeScript: In defense of any

fettblog.eu/typescript-any…

Stefan Baumgartner says it's fine to use any if you know what you are doing

Link for your colleague: giveupanduseany.com πŸ˜†
🎬 THREAD END!

Follow @sebastienlorber for the next threads!

Going to turn these threads into emails (November)

βœ‰οΈ Pre-subscribe here: getrevue.co/profile/thiswe…

❀️ Like this thread 🧡 ?
πŸ™ Please Retweet πŸ™
πŸ‘‡ Follow the link πŸ‘‡

Previous editions?

Keep reading πŸ‘‡

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with Seb βš›οΈ ThisWeekInReact.com

Seb βš›οΈ ThisWeekInReact.com Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @sebastienlorber

Mar 1, 2023
🧡 This Week In React

βš›οΈ
πŸ‘‰ Next.js
πŸ‘‰ Signals
πŸ‘‰ useSyncExternalStore
πŸ‘‰ Server Components
πŸ‘‰ TanStack Bling
πŸ‘‰ Forgetti
πŸ‘‰ Suspense Toolbox
πŸ‘‰ Module Extraction

πŸ“±
πŸ‘‰ Expo
πŸ‘‰ Reanimated
πŸ‘‰ Metro
πŸ‘‰ Restyle
πŸ‘‰ DankStyle
πŸ‘‰ RFCs

Links ➑️ thisweekinreact.com/newsletter/136

Preview πŸ‘‡ Image
🧡 Intro

Signals remained a trending topic this week
Great Next.js 12.3 release unveiling a new cache system

Also many new for React-Native!
Expo 48, Expo Router 1, Expo Image 1, Reanimated 3, Metro symlinks support!

βœ‰οΈ Subscribe by email - Much better!
πŸ‘₯ Join 17000+ readers
Next.js 12.3 was released with great new features.
Many we already knew were coming.

What surprised me most is the new caching system of Next.js leveraging Vercel infra.

Worth checking this thread + link:


"This really unlocks the Edge" Image
Read 9 tweets
Feb 27, 2023
Different perspective πŸ€ͺ

"Mutability has great positives
But thinking immutability is bad may just mean some past patterns were problematic, and not that the entirety of immutable data is bad"

useMemo/useCallback will go away someday

I can agree, but maybe the pain is only temporary?

Maybe we shouldn't throw the immutability model because of short-term difficulties, and the platform should evolve to support better the immutable UI model

Things like Records & Tuples can greatly help

"make the right technical choice, and make the right long term choice"

I think the React team still follow this today

I can understand signals are appealing right now, but is it the way you want to write code in 10 years once the platform has improved?

Read 7 tweets
Nov 2, 2022
🧡 This Week In React

πŸ‘‰ Next.js 13
πŸ‘‰ Turbopack
πŸ‘‰ Remixing Shopify
πŸ‘‰ React-Three-Fiber Journey
πŸ‘‰ Gatsby Valhalla
πŸ‘‰ Full Stack Comps
πŸ‘‰ Rive
πŸ‘‰ Storybook
πŸ‘‰ React-Query
πŸ‘‰ Docusaurus
πŸ‘‰ Asta
πŸ‘‰ Expo 47
πŸ‘‰ TypeScript 4.9
πŸ‘‰ stc

... more by email βœ‰οΈ

🧡 Details πŸ‘‡
🧡 Intro

What a week 🀯

- Next.js conf: Next.js 13 + Turbopack
- Shopify acquires Remix
- Three.js Journey goes React
- Gatsby 5 releases Valhallah

Also testing a new format, do you like it?

βœ‰οΈ Subscribe by email - Much better!

revue.thisweekinreact.com

Sneak peek below πŸ‘‡
🧡 Next.js 13 - @vercel

New app/ directory: enables the new features and latest React 18 innovations like React Server Components and streaming

Nested layouts!

Turbopack: new alpha Rust bundler

Also improves image + font + link and many other things

nextjs.org/blog/next-13
Read 24 tweets
Oct 31, 2022
I'll do a thread with all the funny tweets I gathered for my React newsletter

Too much fun to not share 🀭

Just wondering if I should exclude non-React/frontend memes?

Should I include these? πŸ‘‡

Read 6 tweets
Sep 6, 2022
There are 16 hooks in React 😏 😈

And I bet you never used this one: useSyncExternalStore()

Used internally in state management libs, like Redux

But have you ever thought about using it in your own app code?

πŸ’‘ It could be useful & even prevent some React re-renders

πŸ‘‡ 🧡 Image
Let's start with a real-world problem.

Imagine you are using React-Router and call useLocation() in a few places

➑️ do some conditional rendering depending on pathname, hash, ?search query-string... Image
There are a few potential performance problems, for example:

- whenever you click on hash link, components reading only pathname will re-render ➑️ useless

- whenever you update the ?search querystring link, components reading only pathname or hash will re-render ➑️ useless
Read 13 tweets
May 4, 2022
🧡 This Week In React

πŸ‘‰ Click To Component
πŸ‘‰ Zag
πŸ‘‰ Why I don't miss React
πŸ‘‰ Next.js -> Remix
πŸ‘‰ Next.js ISR
πŸ‘‰ Next.js Router
πŸ‘‰ Component Party
πŸ‘‰ Convex
πŸ‘‰ Concurrent React
πŸ‘‰ Tilg
πŸ‘‰ RN 0.69 RC
πŸ‘‰ Expo 45
πŸ‘‰ RN-Skia, Graph
πŸ‘‰ TS Error Translator

More by βœ‰οΈ

Details πŸ‘‡ Image
🧡 Intro

Great week for React-Native: 0.69 RC, Expo 45, Skia...

New cool toys: Zag, Tilg, Click-To-Component, Convex, Component Party, TS Error Translator...

βœ‰οΈ A lot more links in the email
(a few nice TypeScript and Wasm ones)

ThisWeekInReact.com
🧡 Click To Component by @ericclemmons

Option+Click a React component in your browser to instantly open the source file πŸ‘Œ

Looks very convenient and easy to set up!

Only VS Code, but other IDE support possible
(there's already a PR for Intellij πŸ€—)

github.com/ericclemmons/c…
Read 21 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(