This Week In React #90: JSX, Tinybase, Dioxus, Owl, useWorkerizedReducer, Perf, TypeScript, CSS...

Search for a command to run...

No comments yet. Be the first to comment.
Hi everyone! Krzysztof and Tomasz from Software Mansion here 👋 It's been a fairly calm week for the React ecosystem, but not for the React Native world. Meta has made an exciting announcement about the release of React Native 0.80, where they've dec...

Hi everyone! This week is relatively calm in the React ecosystem, but we still have various interesting blog posts and releases. Maybe we'll soon get some exciting news from React Summit that's about on Friday! On the React Native side, all the devs ...

Hi everyone! I thought I was on schedule for today's issue, until I realized that Dan Abramov wrote 4 RSC blog posts this week 😂. We also get great releases, including Storybook, LiveStore, Base UI, and the Lingo Compiler is a quite exciting innovat...

Hi everyone! Cyril and Matthieu from Theodo Apps here 👋. This week, the Remix team announced some big news. Microsoft has also made it easier to try out TypeScript Go rewriting. In the React Native world, there were a few minor but interesting relea...

Hi everyone! This week, we're delighted to finally have a preview of React Server Components support in React Router. I've also found some very interesting PRs on the React repo, and give you a glimpse of what could be coming soon! The React Native e...

Hi everyone!
A week with various content, from interesting React articles to new tools leading to some healthy FOMO 😇
Parcel CSS reusing a Rust css parser initially created for Firefox, that's really cool!
I was also happy to notice that Node.js plainly supports Error Cause!
🙏 Support the newsletter 🙏:
Good advice on JSX conditionals
We like React because it's just JavaScript and we don't need to learn another templating language. But let's admin it's not always easy and there are some pitfalls to avoid 😅 This article gives a great overview.
Surma (Google) introduces a lib to use a Service Worker to create a React reducer (possibly async). Communication is efficiant thanks to ImmerJS and transmitting patches using postMessage. Browser support is good, only Firefox needs a polyfill. Now let's find a good use-case for this 🤷♂️, anyone?
An Inconsistent Truth: Next.js and Type Safety
Interesting thoughts on the current limits of end-2-end typing in Next.js, focusing on getServerSideProps and page props. There's either too much manual boilerplate (risk of error), or a type helper InferGetServerSidePropsType that might give surprisingly unsafe results. Evokes a TypeScript feature much-awaited by all frameworks: the ability to type module exports. Presents other solutions like Blitz, Server Components or tRPC. The last one looks quite interesting (see also the zart boilerplate using it).
New reactive store for structured data (in tables, like SQL or Normalizr), with a React integration package including hooks like useCell for efficient, fine-grained subscriptions. Small in size, but quite featured: index, relationships, undo/redo...
Extras:
createStoregetServerData 😏Stream: powerful Chat & Feeds for React & React-Native
Stream is the maker of enterprise-grade APIs and SDKs that help product and engineering teams solve two common problems at scale: in-app chat and social activity feeds.
With Stream, developers can integrate any type of messaging or feed experience into their app in a fraction of the time it would take to build these features from scratch. Stream Chat makes it easy for developers to integrate rich, real-time messaging into their applications.
Stream provides robust client-side SDKs for popular frameworks such as React, React-Native, Flutter, Android, Angular, Compose, Unreal and iOS. It also supports Expo managed workflow.
Unlock enterprise-grade features, functions, and UI components completely free for your startup or side project with the Maker Account.
React-Native-Owl: Visual Regression Testing for React-Native
This new solution runs your React-Native screens natively, takes screenshots, and compare them to the previously stored screenshots in ./owl to generate a report. All this is well-integrated with Jest (like snapshots).
Very happy to see visual regression testing progress for React-Native: this is very useful and React-Native has been left behind a bit compared to web. See also Storybook React-Native-Web permitting to do similar things with Chromatic, but requiring a web conversion.
Extras:
A new parser, compiler, minifier un CSS written in Rust, reusing rust-cssparser from Firefox. Outperforms competitors on terms of speed and output size (even esbuild). Integrated in Parcel, but can also be used standalone, in Rust or JavaScript (Webpack?), and even Deno or web (WASM)
New Rust framework largely inspired by React (hooks, VDOM, RSX...), strongly typed, performant, cross-platform (web, mobile, desktop, SSR). Aiming to be easy to adopt for a React/TypeScript dev.
I looked a bit the cross-platform support and I'm not sure yet how it works. It says native performance but seems to be using Tauri on desktop and mobile, afaik using WebViews? 🤔
Extras: