---
title: "Three ways to detect React performance issues"
publication: "React Status"
issue: 415
published_at: "2025-01-29"
canonical_url: "https://react.statuscode.com/issues/415"
---

Plus Unpic 1.0, a React framework for Deno webapps, and more on Shopify's React Native decision. |        

#​415 — January 29, 2025 

[Read on the Web](https://react.statuscode.com/issues/415)  

Together with [![Posthog\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_2303,h_420/e_make_transparent/co_white,e_outline:12/i4lkeq9vxu5ccjyxdkep.png)](https://dub.link/rstatus-jan29)  React Status  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nu1hke8rebjau9td6qnw.jpg)](https://github.com/welldone-software/why-did-you-render)  

[Why Did You Render: Patches React to Notify You About Avoidable Re-Renders](https://github.com/welldone-software/why-did-you-render) — Can be used to optimize re-renders in your React app or just to track when and why components are re-rendering. [v10.0](https://github.com/welldone-software/why-did-you-render/releases/tag/v10.0.0) now supports React 19 (though the author, now a member of the React team, says it’s incompatible with React Compiler optimized apps). 

Vitali Zaidman   

💡 Along similar lines, [React Scan](https://react-scan.com/) continues to go from strength to strength, and [React Geiger](https://github.com/kristiandupont/react-geiger) (though not updated in a while) provides an interesting _audio_ based way to 'hear' performance issues.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/178b81a0.png)](https://dub.link/rstatus-jan29) 

[The First Newsletter Dedicated to Product Engineers](https://dub.link/rstatus-jan29) — The fastest growing startups increasingly rely on product engineers. They can both figure out what to build and actually build it. Product for Engineers is dedicated to sharing the skills and strategies needed to succeed in this role. 

PostHog sponsor   

**IN BRIEF:** 

- Over on Reddit, [an interesting discussion has broken out](https://www.reddit.com/r/reactjs/comments/1iatblk/react_router_v7_has_to_be_a_psyop/) about React Router v7 and that the Remix/React Router 'merge' is having a negative impact on developers.
- 📊 [Vercel has acquired the team](https://vercel.com/blog/vercel-acquires-tremor) behind [Tremor](https://tremor.so/), a popular suite of React components for building charts and dashboards. The plan is to enhance [v0](https://v0.dev/) with Tremor's work and to open-source more components.
- Over on X, the former CTO of Shopify [reflected on the complexities of the decision to go 'all in' on React Native](https://x.com/jmwind/status/1882071857098080653) in response to [Shopify's article last week.](https://shopify.engineering/five-years-of-react-native-at-shopify)
- Also on X, Vercel's Guillermo Rauch [observes that 'React has become the 'Linux kernel' of modern software development.'](https://x.com/rauchg/status/1883157691964510607).   

📄 [The Open-Closed Principle in React: Building Extensible Components](https://cekrem.github.io/posts/open-closed-principle-in-react/) Christian Ekrem 

📄 [Inspecting React Server Component Activity with Next.js](https://www.dash0.com/blog/how-to-inspect-react-server-component-activity-with-next-js) Ben Blackmore 

📄 [How to Build Beautiful React Native Bottom Tabs](https://expo.dev/blog/how-to-build-beautiful-react-native-bottom-tabs) Oskar Kwaśniewski (Expo Blog) 

📄 [How to Build a CMS with React Admin](https://marmelab.com/blog/2025/01/24/how-to-build-a-cms-with-react-admin.html) Thibault Barrat (Marmelab)  

🛠 Code, Tools & Libraries 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vuexgaonsepdrwrbdw9m.jpg)](https://react-select.com/home)  

[React Select 5.10: A Flexible Select Input Control](https://react-select.com/home) — Supports things like option groups, portals, animations, multiselect, and autocompletion. Accessible too. There are plenty of examples on the homepage to check out. ([GitHub repo.](https://github.com/JedWatson/react-select)) 

Jed Watson   

[Unpic 1.0: A Toolkit for Displaying Images on the Web](https://unpic.pics/blog/unpic-1/) — A family of components and libraries for working with images on the Web, whether it’s through components for [many different frameworks](https://unpic.pics/img/) or working with images [hosted on many different providers and CDNs.](https://unpic.pics/providers/) 

Matt Kane   

[React Form Builder with Drag-and-Drop UI & Built-In JSON Schema Editor](https://surveyjs.io?utm_source=react.statuscode&utm_medium=email) — An extensible React form builder component that outputs JSON schemas for form structure and design. Seamlessly integrates with any backend. [Learn more](https://surveyjs.io?utm_source=react.statuscode&utm_medium=email). 

SurveyJS sponsor   

[React-Reverse-Portal 2.2: Build An Element Once, Move It Anywhere](https://github.com/httptoolkit/react-reverse-portal) — Reverse portals do the opposite of usual portals (which let you send the rendered output of an element to a DOM node of your choice) .. so you can pull rendered elements from elsewhere into a location within your React tree. 

HTTP Toolkit   

☎︎ [react-international-phone: A Phone Number Input Component](https://react-international-phone.vercel.app/) — Not only can you pick a country, it can also guess the country from a number, where possible. [react-phone-number-input](https://catamphetamine.gitlab.io/react-phone-number-input/) is another option in this space. 

Yurii Brusentsov   

[Ruck 9.0: A React Webapp Framework for Deno](https://ruck.tech/) — A lean React-based way to build modern React apps with Deno using features like ESM, dynamic imports, HTTP imports, and import maps with no transpilation or bundling required. 

Jayden Seric   

[React Material Admin: A Dashboard Template Built with Material UI](https://github.com/flatlogic/react-material-admin) — Originally a paid-for commercial template but now open-sourced. Take note that it’s based on older versions of some libraries. 

Flatlogic LLC.   

- 📺 [react-native-video 6.10](https://github.com/TheWidlarzGroup/react-native-video) – A <`Video`> component for React Native. Now supporting React Native 0.77.
- [ReactToPrint 3.0.5](https://github.com/MatthewHerbst/react-to-print) – Print React components in the browser.
- [Exome 2.7](https://github.com/Marcisbee/exome) – State manager for deeply nested states.      

📰 Classifieds   

Protect your SaaS app with advanced device fingerprinting from [WorkOS Radar](https://workos.com/radar?utm_source=cpreact&utm_medium=newsletter&utm_campaign=q12025). Stop fake signups, free tier abuse, bot attacks and brute force attempts today. 

--- 

🪄 [Codemagic](https://codemagic.io/migration-from-app-center/?utm_source=newsletter&utm_medium=email&utm_campaign=app_center_react_status): A great App Center alternative for React Native devs! 8x faster builds, CodePush, easy distribution. [1-month free trial!](https://codemagic.io/migration-from-app-center/?utm_source=newsletter&utm_medium=email&utm_campaign=app_center_react_status)     

📢 Elsewhere in JavaScript  

A quick roundup of some of other interesting stories in the broader JavaScript landscape, in case you've missed them: 

- [Tailwind CSS v4](https://tailwindcss.com/blog/tailwindcss-v4) was released.
- 🗓️ Implementations of the [_Temporal_](https://tc39.es/proposal-temporal/docs/) object are beginning to appear in experimental browser releases. Brian Smith takes a look at [how Temporal will modernize the way we deal with dates in JavaScript.](https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/)
- The creator of [SolidJS](https://www.solidjs.com/) says that [Angular and Vue are the frameworks to watch in 2025](https://thenewstack.io/solidjs-creator-on-confronting-web-framework-complexity/), while reflecting on JS framework progress generally.
- The Firefox team has begun to [show off the potential for running AI inference in Web Extensions](https://blog.mozilla.org/en/mozilla/ai/ai-tech/running-inference-in-web-extensions/) using their new, built-in Transformers.js-based ['AI platform'.](https://firefox-source-docs.mozilla.org/toolkit/components/ml/)
- Nicholas C. Zakas [took a look back at the year 2024](https://eslint.org/blog/2025/01/eslint-2024-year-review/) and what happened with ESLint during the year.
- Can you build a WebAssembly compiler in just 192 bytes of JavaScript? [You sure can.](https://wasmgroundup.com/blog/wasm-compiler-in-a-tweet/)         

Curated by Peter Cooper and Terence C. Gannon. 

A **[Cooperpress](https://cooperpress.com/)** publication. 

[Change your email address](https://react.statuscode.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://react.statuscode.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
