# This Week In React #116: Next.js, Gatsby, Blitz, Fresh, Astro, Preact, Redwood, Deno, Remotion, React-Native, Expo, Lightning...

Hi everyone!

I'm glad to inform you that my first email sent from [ConvertKit](https://thisweekinreact.com/convertkit) has been received by most of you: my email provider migration is successful!

And I'm also very happy with the reception of my [article on `useSyncExternalStore`](https://thisweekinreact.com/articles/useSyncExternalStore-the-underrated-react-api)! Thanks for your many feedbacks, I will try to write more soon. The idea is to have a 100% dedicated email on a specific topic, to learn something new in a short time.

Otherwise, the weekly curation newsletter is back. This is a bit of a special edition: I've put all the interesting links from the last few weeks. There are way too many and I can't comment on them this time 😅 Don't worry, we'll resume the usual format with my comments at the end of September when I get back from vacation!


---

**To support me:**

- 😘 **Recommend it to your friends**: it really helps!
- 💸 [**Sponsor the newsletter**](https://thisweekinreact.com/sponsor) or [**sponsor me**](https://github.com/sponsors/slorber)
- 🧵 [**Retweet the latest Twitter thread**](https://slo.im/thread)
- 📨 Reply to this [**email**](mailto:sebastien@thisweekinreact.com): feedback is welcome

<SubscribeFormEmbed />

---

## 💸 Sponsor

[![Storyblok](https://thisweekinreact.com/emails/issues/116/storyblok.png)](https://www.storyblok.com/?utm_source=thisweekinreact&utm_medium=display&utm_campaign=AWA_SPON_TWIREACT_TRA&utm_content=thisweekinreact_en)

Have you already tried [Storyblok](https://www.storyblok.com/?utm_source=thisweekinreact&utm_medium=display&utm_campaign=AWA_SPON_TWIREACT_TRA&utm_content=thisweekinreact_en)? It's the headless CMS with a Visual Editor designed for both developers and marketers!

Use Storyblok React SDK to quickly build reusable components and fetch the content to create your React, Next.js, Remix, or even React-Native applications, websites or eCommerces.

Check out [Technology Hub](https://www.storyblok.com/technologies?utm_source=thisweekinreact&utm_medium=display&utm_campaign=AWA_SPON_TWIREACT_TRA&utm_content=thisweekinreact_en) and find it out yourself!

---

## ⚛️ React

- 📜 [Improving INP with React 18 and Suspense](https://vercel.com/blog/improving-interaction-to-next-paint-with-react-18-and-suspense)
- 📜 [PureComponents vs Functional Components with hooks](https://www.developerway.com/posts/pure-components-vs-functional-and-hooks)
- 📜 [Why React Re-Renders](https://www.joshwcomeau.com/react/why-react-re-renders/)
- 📜 [Understanding useMemo and useCallback](https://www.joshwcomeau.com/react/usememo-and-usecallback/)
- 📜 [Avoiding useEffect with callback refs](https://tkdodo.eu/blog/avoiding-use-effect-with-callback-refs)
- 📜 [React Query meets React Router](https://tkdodo.eu/blog/react-query-meets-react-router)
- 📜 [(Re-) Introducing Gatsby, A Reactive Site Generator](https://www.gatsbyjs.com/blog/re-introducing-gatsby-a-reactive-site-generator/)
- 📜 [Advanced React component composition](https://frontendmastery.com/posts/advanced-react-component-composition-guide/)
- 📜 [Can We All Just Admit React Hooks Were a Bad Idea? Part 2](https://medium.com/codex/can-we-all-just-admit-react-hooks-were-a-bad-idea-795505b0485d)
- 📜 [Why Storybook in 2022?](https://storybook.js.org/blog/why-storybook-in-2022/) + [7.0 design alpha](https://storybook.js.org/blog/7-0-design-alpha/) + [Writing stories in TypeScript](https://storybook.js.org/blog/writing-stories-in-typescript/)
- 📜 [A Complete Guide to React Router: Everything You Need to Know](https://ui.dev/react-router-tutorial)
- 📜 [9 Bad React Habits to Kick From Your Life](https://cult.honeypot.io/reads/bad-react-habits-to-kick/)
- 📜 [Validating Remix Form Data Using Zod and TypeScript in Action Functions](https://egghead.io/blog/validating-remix-form-data-using-zod-and-typescript-in-action-functions)
- 📜 [The minimum TypeScript you need for React](https://ente.io/blog/tech/typescript-for-react/)
- 📜 [Patterns.dev - Rendering Patterns](https://www.patterns.dev/posts/rendering-introduction/)
- 📜 [We measured the SSR performance of 6 JS frameworks](https://dev.to/kaspera/we-measured-the-ssr-performance-of-6-js-frameworks-heres-what-we-found-1ck0)
- 📜 [Should You Use A ClassName Prop?](https://www.chakshunyu.com/blog/should-you-use-a-classname-prop/)
- 📜 [Avoiding dynamic CSS-in-JS styles in React](https://nickb.dev/blog/avoid-dynamic-css-in-js-styles-in-react/)
- 📜 [Frontend security primer](https://frontendmastery.com/posts/frontend-security-primer/)
- 📜 [React Error Boundaries: A Complete Guide](https://meticulous.ai/blog/react-error-boundaries-complete-guide/)
- 📜 [The GPU Banana Stand](https://acko.net/blog/the-gpu-banana-stand/)
- 📜 [A first look at create-t3-app](https://dev.to/ajcwebdev/a-first-look-at-create-t3-app-1i8f)
- 📜 [Moving House to Next.js](https://blog.benchsci.com/moving-house-to-next.js)
- 📜 [Bringing Together Keyboard-only and Click-based UI Tests with keyboard-testing-library](https://testingaccessibility.com/introducing-keyboard-testing-library-by-grunet)
- 📜 [5 Most Common useState Mistakes React Developers Often Make](https://refine.dev/blog/common-usestate-mistakes-and-how-to-avoid/)
- 📜 [Transform content at the edge with Netlify’s Next.js Runtime](https://www.netlify.com/blog/nextjs-advanced-middleware-better-runtime-that-extends-nextjs/)
- 📜 [Scaling RSG Builds With Gatsby’s Data Layer](https://www.gatsbyjs.com/blog/scaling-rsg-builds-with-gatsbys-data-layer/)
- 📜 [Is Gatsby In Decline?](https://deliciousreverie.co.uk/posts/is-gatsby-decline/)
- 📖 [Separating Events from Effects](https://beta.reactjs.org/learn/separating-events-from-effects)
- 📖 [Removing Effect Dependencies](https://beta.reactjs.org/learn/removing-effect-dependencies)
- 👥 [Next.js Conf 2022](https://vercel.com/blog/nextjs-conf-2022)
- 🎥 [Creating F1 graphics in JavaScript](https://www.youtube.com/watch?v=sA-X0Bw_7Gg)
- ⏱ [Comparing website performance: Gatsby vs Next vs Nuxt](https://www.gatsbyjs.com/blog/comparing-website-performance-gatsby-vs-next-vs-nuxt/)
- 📦 [Redwood v3.0.0 RC](https://community.redwoodjs.com/t/redwood-v3-0-0-rc-is-now-available/3836)
- 📦 [Next.js 12.3](https://nextjs.org/blog/next-12-3)
- 📦 [Preact Signals](https://preactjs.com/blog/introducing-signals/)
- 📦 [Blitz 2.0 beta](https://github.com/blitz-js/blitz/releases/tag/v2.0.0-beta.1)
- 📦 [Astro 1.0](https://astro.build/blog/astro-1/)
- 📦 [Fresh 1.1](https://deno.com/blog/fresh-1.1)
- 📦 [Mailing](https://www.mailing.run/)
- 📦 [Remotion 3.2](https://www.remotion.dev/blog/3-2)
- 📦 Gatsby [v4.20](https://www.gatsbyjs.com/docs/reference/release-notes/v4.20/) + [v4.21](https://www.gatsbyjs.com/docs/reference/release-notes/v4.21/) + [v4.22](https://www.gatsbyjs.com/docs/reference/release-notes/v4.22/)

<SubscribeFormEmbed />

---

## 📱 React-Native

- 📦 [Announcing React Native 0.70](https://reactnative.dev/blog/2022/09/05/version-070)
- 📜 [The New Expo CLI](https://blog.expo.dev/the-new-expo-cli-f4250d8e3421)
- 📜 [EAS Build Changelog](https://blog.expo.dev/eas-build-changelog-43b886b2fa24)
- 📜 [Instant Performance Upgrade: From FlatList to FlashList](https://shopify.engineering/instant-performance-upgrade-flatlist-flashlist)
- 📜 [Ditch the Simulator — Running Expo Dev Client natively on an M1 Mac](https://medium.com/@derekstavis/ditch-the-simulator-running-expo-dev-client-natively-on-an-m1-mac-28d269e9af17)
- 📜 [Setting Max Width When Supporting Web and Mobile in React Native](https://www.reactnativeschool.com/setting-max-width-when-supporting-web-and-mobile-in-react-native)
- 🚧 [Metro `require.context`](https://github.com/facebook/metro/pull/822) + [Expo file-system routing demo](https://twitter.com/Baconbrix/status/1560353229241831425)
- 🎥 [React-Native EU 2022](https://www.youtube.com/playlist?list=PLZ3MwD-soTTE-qcA0MrcvZBdmkHJSIjJX)
- 💬 [Umbrella issue - Add support for Web styles](https://github.com/facebook/react-native/issues/34425)
- 💬 [RFC: Reduce API fragmentation across platforms](https://github.com/react-native-community/discussions-and-proposals/pull/496)
- 💬 [Major Pain Points to Migrate to the New Architecture](https://github.com/reactwg/react-native-new-architecture/discussions/68)
- 🎨 [Expo + white-label apps demo](https://twitter.com/Baconbrix/status/1557773847717416964)
- 🎨 [Baran animations demos](https://twitter.com/barany6m)
- 🎨 [Flight animation demo](https://twitter.com/lima_lucas3)
- 📡 [Meta working on Yoga successor?](https://github.com/facebook/yoga/pull/1116#issuecomment-1201813564)
- 🎙️ [React-Native-Radio #243-246](https://reactnativeradio.com/episodes)
- 🎙️ [React Native Show #15 - Reassure](https://www.youtube.com/watch?v=8pTQKBHFs-8)

---

## 🧑‍💻 Jobs

🧑‍💼 [**G2i - 100% Remote JavaScript Jobs**](https://www.g2i.co/)

The only hiring platform that puts developer health first. We connect React and React Native freelancers with great companies committed to improving developers' mental, physical, and emotional health and well-being.

💡 [How to publish an offer ?](https://thisweekinreact.com/sponsor)

---

## 🔀 Other

- [Lightning CSS](https://lightningcss.dev/)
- [Announcing TypeScript 4.8](https://devblogs.microsoft.com/typescript/announcing-typescript-4-8/)
- [TypeScript 4.9 Iteration Plan](https://github.com/microsoft/TypeScript/issues/50457)
- [Oven.sh](https://oven.sh/)
- [New to the web platform in August](https://web.dev/web-platform-08-2022/)
- [New in Chrome 105](https://developer.chrome.com/blog/new-in-chrome-105/)
- [Why is CrUX data different from my RUM data?](https://web.dev/crux-and-rum-differences/)
- [Rewriting tests from Cypress to Playwright using GPT3](https://contra.com/p/PWBcPYZc-rewriting-tests-from-cypress-to-playwright-using-gpt-3)
- [Critical CSS? Not So Fast!](https://csswizardry.com/2022/09/critical-css-not-so-fast/)
- [GraphiQL 2.0](https://github.com/graphql/graphiql/releases/tag/graphiql%402.0.0)
- [Bunchee - zero config bundler for ECMAScript libraries](https://github.com/huozhi/bunchee)
- [Resumability, WTF?](https://dev.to/this-is-learning/resumability-wtf-2gcm)
- [The JavaScript Paradox](https://dev.to/this-is-learning/the-javascript-paradox-2njj)
- [CSS container queries are finally here](https://ishadeed.com/article/container-queries-are-finally-here/)
- [Using :has() as a CSS Parent Selector and much more](https://webkit.org/blog/13096/css-has-pseudo-class/)
- [Use the Right Container Query Syntax](https://www.oddbird.net/2022/08/18/cq-syntax/)
- [Big Changes Ahead for Deno](https://deno.com/blog/changes) + [Deno 1.25](https://deno.com/blog/v1.25)
- [PlanetScale serverless driver for JavaScript](https://planetscale.com/blog/introducing-the-planetscale-serverless-driver-for-javascript)
- [A first look at Bun: is it really 3x faster than Node.js and Deno?](https://dev.to/builderio/a-first-look-at-bun-is-it-really-3x-faster-than-nodejs-and-deno-45od)
- [Can browsers optimize the loading of third-party resources?](https://developer.chrome.com/blog/third-party-scripts/)

---

[![meme](https://thisweekinreact.com/emails/issues/116/meme.png)](https://twitter.com/Keithamus/status/1562894696476999682)

