why-did-you-render
use-what-changed


why-did-you-render | use-what-changed | |
---|---|---|
49 | 3 | |
11,688 | 718 | |
2.0% | - | |
8.2 | 0.0 | |
about 1 month ago | about 2 years ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
why-did-you-render
-
React Component Libraries: Overview of 19 Top Libs
Why-Did-You-Render Documentation
-
How to track React re-renders - why-did-you-render issues
Yet - its codesanbox examples target React 16. I tried to upgrade its codesandbox examples to React 18. They run as React applications, but no wdyr concole reports are generated. There are some issues that reports this problem, e.g. https://github.com/welldone-software/why-did-you-render/issues/294 but generally the activity is almost nonexistant. Stackoveflow threads has only severl questions about wdyr.
- Too many rerenders in react?
- Lag issues with RN
- After a year developing with react, I think I've been doing all wrong
- How can I stop a component from reloading all the time?.
-
How to speed up React Native screen when full of TextInput?
Check out why-did-you-render. It may tell you some more information.
-
Why and How We Retired Elm at Culture Amp
It's a combination of many things, but imo one of the worst is all the footguns regarding state and the rerenders they cause
https://emnudge.dev/blog/react-hostage
It's so easy, that we monkey patch react to debug it https://github.com/welldone-software/why-did-you-render
Plus the vdom... Isn't great, the bundle size puts react at an inherit disadvantage, and the community has a knack for over reliance on bloated packages
-
7 Proven Practices to Boost Development Speed and Project Quality
When we implemented the MVP of the fintech app, we had a quite complicated form. At that time, I was still young and inexperienced. And eventually, we realized that our project was slowing down. We had to spend additional hours figuring out the reason. We had many unnecessary re-renders because we ignored basic rules related to props in React. I wanted to do everything possible to avoid such situations in the future. So, I added to the project linters like this and an additional starting configuration to package.json to run why-did-you-render. In short, this plugin issues a warning if something is re-rendered unnecessarily and suggests how to avoid it. Also, we included running Lighthouse in headless mode. Some people say that premature optimizations are bad, but for me, it's a principle: do it right from the start.
- Free code review
use-what-changed
-
Thoughts on useEffect ?
https://github.com/simbathesailor/use-what-changed Hope this helps someone.
-
What’s the most underrated Developer Tools debugging Tip/Trick?
https://github.com/simbathesailor/use-what-changed - what's nice about it is it gives detailed information about why a component renders, upon each render, along with diffs of what actually changed. It works for hooks - I haven't found a really good trick for debugging context renders yet though.
-
As the creator of "why-did-you-render" I would like to ask you if and how do you use it?
Nowadays, I tend to opt for the useWhatChanged hook. Ergonomically it's a little easier, and its plug-and-play use makes it very attractive.
What are some alternatives?
react-render-tracker - React render tracker – a tool to discover performance issues related to unintentional re-renders and unmounts
usehooks - A collection of modern, server-safe React hooks – from the ui.dev team
MineRender - Quick, Easy, Interactive 3D/2D Renders of Minecraft
use-clean-effect - An extension of React useEffect without the need for clean-up functions
craco - Create React App Configuration Override, an easy and comprehensible configuration layer for Create React App.
tamperchrome - Tamper Dev is an extension that allows you to intercept and edit HTTP/HTTPS requests and responses as they happen without the need of a proxy. Works across all operating systems (including Chrome OS).
nextjs-rewrite-test
use-better-effect - A wrapper around `React.useEffect` but with improved API
RunJS - RunJS is a JavaScript playground for macOS, Windows and Linux. Write code with instant feedback and access to Node.js and browser APIs.
debug - A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers
razzle - ✨ Create server-rendered universal JavaScript applications with no configuration
ignite-bowser - Bowser is now re-integrated into Ignite CLI! Head to https://github.com/infinitered/ignite to check it out.

