This Week In React #166: Waku, React-Forget, React-Native, Expo, Million, Remotion, Next.js, Storybook, Remix...
Tags: react, reactnative
Published: 2023-12-15 10:51:31

---
series: This Week In React
canonical_url: https://thisweekinreact.com/newsletter/166
---

Hi everyone!

This has been a quite exciting week in terms of news!

We had a few great React releases and articles. It's great to see React-Forget slowly being rolled out on Instagram. Remotion also started to demonstrate its full potential with the GitHub Unwrapped launch.

React-Native is on fire, with v0.73 stable, Expo SDK 50 and Expo Router v3 in beta and a few other great releases. What excites me most is Expo gradually unveiling its plan to support Universal React Server Components.

This week's issue is quite special for me: it's the very first time I'm not alone writing the content. [Benedikt](https://twitter.com/bndkt) almost wrote the entire React-Native section. I haven't used React-Native in production since 2020 😅 so it's nice to have someone using [all the cutting edge libs](https://github.com/bndkt/sharemystack) help me provide relevant insights.

Don't forget to fill in the [State of JavaScript](https://stateofjs.com/en-US) and [State of React-Native](https://stateofreactnative.com/) surveys. And if you could mention me at the end that's cool! [Theo T3 shows you how](https://youtube.com/clip/UgkxDdNASo6xNS710ODcjMx0WW4HtTxIYbrA?si=G0rAnDKOQwHqh_ED) 😄

---

💡 Subscribe to the [official newsletter](https://thisweekinreact.com?utm_source=dev_crosspost) to receive an email every week!

[![banner](https://thisweekinreact.com/img/TWIR_POST.png)](https://thisweekinreact.com?utm_source=dev_crosspost)

---

## 💸 Sponsor

[![MightyMeld launches visual dev tool to accelerate React development](https://thisweekinreact.com/emails/issues/166/mightymeldthisweekinreact.jpg)](https://www.mightymeld.com/?utm_source=thisweekinreact&utm_medium=newsletter&utm_campaign=1&utm_content=top)

**[MightyMeld launches visual dev tool to accelerate React development](https://www.mightymeld.com/?utm_source=thisweekinreact&utm_medium=newsletter&utm_campaign=1&utm_content=top)**

A new kind of dev tool for React just opened its beta. See your JSX and styles in action while running your build. Hop quickly to your favorite editor. Use drag’n’drop and generative AI to update your app. As you work, MightyMeld generates clean code ready to merge as part of your PR. [Free to use](https://www.mightymeld.com/?utm_source=thisweekinreact&utm_medium=newsletter&utm_campaign=1&utm_content=body).

---

## ⚛️ React

[![Waku](https://thisweekinreact.com/emails/issues/166/waku.jpg)](https://waku.gg/blog/introducing-waku)

[**Waku - Minimal React Framework that enhances React Server Component usage**](https://waku.gg/blog/introducing-waku)

We already featured this one, but the v0.18 rewrite is out, and includes a little introduction blog post.
Waku is a minimal React framework that allows us to explore the core RSC capabilities, free from the traditional SSG/SSR strategies. Technically it is a Vite-based bundler that outputs pure JS and supports deployment to edge runtimes. Now sponsored by Vercel.

---

- 💸 [Developer Nation Survey - For each completed response, Developer Nation will donate to one of the charities of respondents’ choosing! Start now!](https://developereconomics.net/?member_id=thisweekinreact&utm_medium=nl_ad2)
- 🍿 [Remotion - GitHub Unwrapped 2023](https://githubunwrapped.com/): this year Remotion partnered with GitHub to produce the GitHub Unwrapped video ([here is mine](https://twitter.com/sebastienlorber/status/1734622460547342693)). A great showcase for the type of videos that can be produced using React.
- 🐦 [React hydration error diff demo](https://twitter.com/samijaber_/status/1734332721634099282): revival of interest for this much needed feature ([new React PR](https://github.com/facebook/react/pull/27808)).
- 🐦 [Tanner Linsley about React concurrent model vs reactive model](https://twitter.com/tannerlinsley/status/1732474127712481371): on the difficulty to get the benefits of both models at once. Tanner finally migrated the upcoming TanStack Router to a reactive model ([visual demo](https://x.com/aryan__deora/status/1733164876170764409)).
- 🐦 [Next.js moving away from extending `fetch()`, adding new APIs like `noStore()`](https://twitter.com/leeerob/status/1733154383410684148)
- 📖 [Next.js - Updated Server Actions docs - Includes how to use them outside forms, security recommendations, and best practices](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations)
- 📖 [Next.js React Foundations updated with App Router and Server Components](https://nextjs.org/learn/react-foundations)
- 📜 [A Chain Reaction](https://overreacted.io/a-chain-reaction/): Dan Abramov is back with great storytelling lesson through the implementation of a recursive function that renders JSX to platform elements.
- 📜 [Next.js 14: Layouts vs Templates](https://www.builder.io/blog/nextjs-14-layouts-templates): templates are remounted on navigation and reset their state.
- 📜 [Storybook for React Server Components](https://storybook.js.org/blog/storybook-react-server-components/): Storybook 8 is now in alpha. In includes experimental Next.js RSC support. In practice RSCs will run client-side and you have to mock networks and Node.js APIs.
- 📜 [The anatomy of shadcn/ui](https://manupa.dev/blog/anatomy-of-shadcn-ui): gives a great overview of the popular Radix + Tailwind l̶i̶b̶r̶a̶r̶y̶, and how it assembles various packages to provide a good DX.
- 📜 [How to set up self-healing URLs in Next.js for better SEO](https://mikebifulco.com/posts/self-healing-urls-nextjs-seo): shows how to create Next.js urls that are both human-readable and include a stable id. You can change the article title/url without breaking old links.
- 📜 [Remix - Submit a form without overwriting existing parameters](https://www.jacobparis.com/content/existing-params): suggests to use a `<ExistingSearchParams>` to append existing params to the form.
- 📜 [Polymorphism in React - 2 patterns you must know](https://www.bekk.christmas/post/2023/01/polymorphism-in-react)
- 📜 [Lexical state updates](https://dio.la/article/lexical-state-updates)
- 📦 [React DevTools 5.0 - New React-Forget badge](https://github.com/facebook/react/pull/27759): new feature permits to see Meta's rollout of React-Forget in production on Instagram ([ref](https://twitter.com/sebastienlorber/status/1734607171030303186)).
- 📦 [Million.js 3.0 - Overhauled version, faster drop-in replacement](https://million.dev/blog/million-3)
- 📦 [AuthKit - The world's best login box powered by WorkOS and Radix](https://www.authkit.com/)
- 📦 [react-hook-form 7.49 - react-server bundle, reactive errors prop...](https://github.com/react-hook-form/react-hook-form/releases/tag/v7.49.0)
- 📦 [Next-Admin 3.0 - App router support](https://github.com/premieroctet/next-admin/releases/tag/%40premieroctet%2Fnext-admin%403.0.0)
- 📦 [Epic Stack - Client Hints - Eliminate flashes of incorrect content](https://github.com/epicweb-dev/client-hints)

---

## 💸 Sponsor

[![Open-source React Framework for building enterprise B2B apps](https://thisweekinreact.com/emails/issues/166/about.jpg)](https://s.refine.dev/github-repo)

**[Open-source React Framework for building enterprise B2B apps](https://s.refine.dev/github-repo)**

Refine streamlines the building of production-ready B2B apps like internal tools and dashboards.

It is designed to address the specific pain points of larger organizations, giving top priority to security and reducing repetitive tasks with its hooks and components.

Offers industry-standard solutions for critical project aspects like **authentication**, **access control**, **routing**, **networking**, and **state management**.

🌱 [Visit complete CRM app template built with Refine](https://s.refine.dev/crm-app).

---

## 📱 React-Native

![React Native 0.73, Expo SDK 50 beta, Expo Router v3 beta](https://thisweekinreact.com/emails/issues/166/rnheader.jpg)

- 📊 [State of React-Native - Reminder to fill the survey!](https://survey.stateofreactnative.com/)
- 🚧 [RFC - Well-defined event loop processing model](https://github.com/react-native-community/discussions-and-proposals/pull/744): proposal to bring the React Native event loop closer to the web specification.
- 🐦 [POC of multi-window apps support in React Native](https://x.com/o_kwasniewski/status/1734198386612388263)
- 🐦 [interpolate() in React Native Reanimated - visually understand extrapolation](https://x.com/kacperkapusciak/status/1732794213371097491)
- 📖 [Expo introduces canary releases](https://docs.expo.dev/versions/latest/#canary-releases)
- 📜 [Expo EAS - Keep your cache close — It’s Faster!](https://expo.dev/changelog/2023/12-07-cocoapods-cache#how-to-speed-up-cocoapods): Expo cuts pod installation time by caching popular pods directly on their build VMs.
- 📜 [Integrate Firebase Analytics into Expo Router](https://tinybytelabs.com/blog/integrate-firebase-analytics-to-expo-router): unlike React-Navigation, Expo-Router is url-first, and you have to listen to pathname changes.
- 📜 [Creating a macOS MenuBar app with React Native](https://www.oskarkwasniewski.dev/blog/create-react-native-macos-menubar-app)
- 📜 [Epic Games vs Google - Trial Verdict, a Win for All Developers](https://www.epicgames.com/site/en-US/news/epic-v-google-trial-verdict-a-win-for-all-developers): might bring changes to the app stores rules regarding in-app-payment models and their 30% tax.
- 📦 [React Native 0.73](https://reactnative.dev/blog/2023/12/06/0.73-debugging-improvements-stable-symlinks) with a new debugger intended to replace Flipper, stable Symlink support in Metro (important in monorepos) and a new Kotlin template for Android (+ Android 14 support).
- 📦 [Expo SDK 50 beta](https://expo.dev/changelog/2023/12-12-sdk-50-beta): upgrades to React-Native 0.73, with a new Expo Dev Tools Plugin API, a complete rewrite of `expo-sqlite`, improved `expo-camera`, a new library to figure out compatibility between a JS bundle and a particular native build (`@expo/fingerprint`), `expo-updates` hooks API, EAS updates/rollouts and much more.
- 📦 [Expo Router v3 beta](https://blog.expo.dev/expo-router-v3-beta-is-now-available-eab52baf1e3e): includes API routes, Bundle Splitting for web, and a ton of other new features. Universal React Server Components are coming to Expo!
- 📦 [Reactotron 3.0](https://shift.infinite.red/announcing-reactotron-3-0-934b5a221bda): brings automatic tracking of all log messages, better Android device debugging, faster app launch time.
- 📦 [React Native Skia - 3D transformations](https://github.com/Shopify/react-native-skia/pull/2033): William Candillon posted a 🐦 [demo](https://x.com/wcandillon/status/1733972374930837776)
- 📦 [React-Native-Unistyles 2.0](https://reactnativeunistyles.vercel.app/)
- 📦 [react-native-permissions 4.0 - iOS 17, Android 14 support](https://github.com/zoontek/react-native-permissions/releases/tag/4.0.0)
- 🎙️ [Galaxies - Rocket Ship](https://podcast.galaxies.dev/): recent React-Native focused podcast worth discovering

---

## 🔀 Other

- 📜 [Baseline 2023 - All new cross-browser supported APIs - Displayed on on caniuse](https://web.dev/blog/baseline2023)
- 📜 [CSS Wrapped - 2023 was a huge year for CSS!](https://developer.chrome.com/blog/css-wrapped-2023)
- 📜 [WebKit Features in Safari 17.2 - exclusive accordions, CSS nesting, maths, animations...](https://webkit.org/blog/14787/webkit-features-in-safari-17-2/)
- 📜 [Does Interaction to Next Paint actually correlate to user behavior?](https://www.speedcurve.com/blog/INP-user-experience-correlation/)
- 📜 [The TypeScript 5.3 Feature They Didn't Tell You About - as const satisfies](https://www.totaltypescript.com/the-typescript-5-3-feature-they-didn-t-tell-you-about)
- 📜 [Ternaries could be beautiful - A new proposal for Prettier formatting](https://pedrocattori.dev/blog/ternaries-could-be-beautiful)
- 📜 [Improving Node.js loader performance](https://sentry.engineering/blog/improving-nodejs-loader-performance)
- 📦 [Seroval 1.0 - Stringify JS values](https://github.com/lxsmnsyc/seroval)
- 📦 [Oxlint - General Availability](https://oxc-project.github.io/blog/2023-12-12-announcing-oxlint.html)

---

## 🤭 Fun

[![alt](https://thisweekinreact.com/emails/issues/166/meme.jpg)](https://twitter.com/sebastienlorber/status/1733126141915906550)


See ya! 👋